Skip to main content

Calculator Library

Python Poetry GitHub AI Assisted License

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

  1. Install in pip default installation folder
pip install calculator-lib-rubens
  1. Install in the Python user install directory
pip --no-cache-dir install -U --user calculator-lib-rubens
  1. Confirm the installed version matches the latest GitHub release at calculator-lib/releases
pip show calculator-lib-rubens

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:

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

Documentation

License

The project is licensed under MIT License.


Author: Rubens Gomes

Metadata

Release files for calculator-lib-rubens 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for calculator-lib-rubens 0.2.3
File Size Uploaded
calculator_lib_rubens-0.2.3.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for calculator-lib-rubens 0.2.3
File Interpreter ABI Platform
calculator_lib_rubens-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 10.6 kB

Release files / calculator_lib_rubens-0.2.3.tar.gz

Download URL calculator_lib_rubens-0.2.3.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ea4be707776a1b95e27317137808749fe48dfdaa3fa00d6cb88754df4bb5afaf
BLAKE2b-256 checksum
How to use checksums
d10ad7801dccf763f8381e89a226f6ce8eaf63e3da422cba4dd1590e34386c9a
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.3-py3-none-any.whl

Download URL calculator_lib_rubens-0.2.3-py3-none-any.whl
Size 5.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2dddaed3198f07e11ef01cde9f66b9a0e3f25329639937d3c7f780f1a01177d6
BLAKE2b-256 checksum
How to use checksums
497e6969f31aee63fe9106d3b1860cfc3f4796a5b19bcb37248aa5b48474d177
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 history Release notifications | RSS feed

0.2.5

2 release files

0.2.4

2 release files

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page