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.2

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.2
File Size Uploaded
calculator_lib_rubens-0.2.2.tar.gz 5.3 kB Details

Built distribution (wheel)

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

Total release size: 10.6 kB

Release files / calculator_lib_rubens-0.2.2.tar.gz

Download URL calculator_lib_rubens-0.2.2.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
472a7812459470cc19fdc31a2e3688c8004f99503285d2621ca1a2a40caaa381
BLAKE2b-256 checksum
How to use checksums
c26c9ef848a8132a4b6661b3a5404bdb76ab62989adda2e45cd293b4e02af932
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.2-py3-none-any.whl

Download URL calculator_lib_rubens-0.2.2-py3-none-any.whl
Size 5.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
768f59aa521dfff0b45431e6228ec95e98a4f2310698e434bedf3aa05c73b327
BLAKE2b-256 checksum
How to use checksums
da8e2b1d976277fc68d66016510a94cb8aed01eca9c1d10ab4da9d46e12b4f38
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

0.2.3

2 release files

This release

0.2.2 This release

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