Calculator Library
A Python calculator library providing stateless arithmetic, power/root, modulo, rounding, and logarithmic/exponential operations.
Features
16 math calculator functions:
- Two-operand operations:
add,subtract,multiply,divide,power,nth_root,modulo,floor_divide - Single-operand operations:
sqrt,absolute,floor,ceil,log10,ln,exp - Rounding:
round_number(with configurable decimal places)
AI Disclaimer
This project includes code and documentation created with the assistance of AI tools. For details on usage, limits, and review practices, please see the AI Disclaimer.
Prerequisites
- Python 3.14+
- pip
Installation
- Install using
pip
pip install calculator-lib-rubens
- Confirm the installed version matches the latest GitHub release at calculator-lib/releases
pip show calculator-lib-rubens
Uninstall
pip uninstall calculator-lib-rubens
pip cache purge
Quick Start
from calculator_lib import Calculator
calc = Calculator()
calc.add(2, 3) # 5
calc.subtract(10, 4) # 6
calc.multiply(3, 4) # 12
calc.divide(10, 2) # 5.0
API Reference
Core Arithmetic
| Method | Description |
|---|---|
add(a, b) |
Returns the sum of a and b |
subtract(a, b) |
Returns a minus b |
multiply(a, b) |
Returns the product of a and b |
divide(a, b) |
Returns a divided by b |
Power & Roots
| Method | Description |
|---|---|
power(a, b) |
Returns a raised to the power b |
sqrt(a) |
Returns the square root of a |
nth_root(a, n) |
Returns the n-th root of a |
Modulo & Integer Math
| Method | Description |
|---|---|
modulo(a, b) |
Returns the remainder of a / b |
floor_divide(a, b) |
Returns the floor division of a / b |
Absolute & Rounding
| Method | Description |
|---|---|
absolute(a) |
Returns the absolute value of a |
round_number(a, decimals=0) |
Rounds a to the given decimal places |
floor(a) |
Returns the largest integer <= a |
ceil(a) |
Returns the smallest integer >= a |
Logarithmic & Exponential
| Method | Description |
|---|---|
log10(a) |
Returns the base-10 logarithm of a |
ln(a) |
Returns the natural logarithm of a |
exp(a) |
Returns e raised to the power a |
Usage Examples
import math
from calculator_lib import Calculator
calc = Calculator()
# Power & Roots
calc.power(2, 3) # 8
calc.sqrt(16) # 4.0
calc.nth_root(27, 3) # 3.0
# Modulo & Rounding
calc.modulo(10, 3) # 1
calc.floor_divide(7, 2) # 3
calc.round_number(3.14159, 2) # 3.14
calc.floor(3.7) # 3.0
calc.ceil(3.2) # 4.0
# Logarithmic & Exponential
calc.log10(100) # 2.0
calc.ln(math.e) # 1.0
calc.exp(1) # 2.718281828459045
Error Handling
All methods validate their inputs and raise ValueError with descriptive
messages for invalid operations:
from calculator_lib import Calculator
calc = Calculator()
calc.divide(10, 0) # ValueError: Cannot divide by zero
calc.sqrt(-1) # ValueError: Cannot take square root of a negative number
calc.log10(0) # ValueError: Cannot take logarithm of a non-positive number
calc.nth_root(-4, 2) # ValueError: Cannot take even root of a negative number
calc.modulo(10, 0) # ValueError: Cannot modulo by zero
License
This project is licensed under the MIT License.
Links
Author: Rubens Gomes
Metadata
Release files for calculator-lib-rubens 0.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| calculator_lib_rubens-0.2.5.tar.gz | 5.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| calculator_lib_rubens-0.2.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.6 kB
Release files / calculator_lib_rubens-0.2.5.tar.gz
| Download URL | calculator_lib_rubens-0.2.5.tar.gz |
|---|---|
| Size | 5.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c44e5bfb211632d1ffa825c23a6352bf8a0419c54e9ddd160b3daccf90c8e994
|
|
BLAKE2b-256 checksum How to use checksums |
6ac08ed8644e696b7deb598006a254ef81448a78041e65772c32a3bd9474036c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.3 CPython/3.14.7 Linux/6.17.0-1022-azure
|
Release files / calculator_lib_rubens-0.2.5-py3-none-any.whl
| Download URL | calculator_lib_rubens-0.2.5-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9f1e2398df66680295ad6c0e19e2daac54630df9fe4045b5e7a1d8baeba9bc19
|
|
BLAKE2b-256 checksum How to use checksums |
7abd9696ce61dfdc61c32805ba1a34d4ee19bcec5464a6a35beeddd9d956b422
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.3 CPython/3.14.7 Linux/6.17.0-1022-azure
|