Skip to main content

Numerra is a Python advance CLI calculator that supports various mathematical operations

Project description

Numerra

Numerra is a modular and extensible CLI calculator built using clean architecture principles.
It is designed not only to perform arithmetic operations, but also to demonstrate structured backend development practices in Python.

Numerra focuses on maintainability, modularity, and production-ready packaging.


✨ Features

  • Basic arithmetic operations (addition, subtraction, multiplication, division)
  • Enum-based operator handling
  • Persistent calculation history (JSON storage)
  • Clear history functionality
  • Configurable decimal precision
  • Structured logging system
  • Modular project architecture
  • Unit tested with pytest
  • Installable via pip
  • CLI entry point support

📦 Installation

From PyPI

pip install numerra

Development Mode

git clone https://github.com/tcandra24/numerra.git
cd numerra
pip install -e .

🚀 Usage

Run as Installed CLI

numerra

Run in Development

python -m numerra

Check Version

numerra --version

🏗 Project Structure

numerra/
├── config/
├── core/
├── data/
├── enums/
├── logs/
├── models/
├── utilities/
└── main.py

The project follows a modular structure with separation of concerns between:

  • Core business logic
  • Data persistence
  • Configuration
  • Logging
  • Utilities
  • CLI interface

⚙ Configuration

Numerra uses a JSON-based configuration system.

Configurable options include:

  • Logging behavior
  • Runtime settings

Configuration is loaded before business logic execution to ensure consistent behavior.


🧪 Running Tests

pytest

Unit tests cover:

  • Arithmetic operations
  • History management
  • Core calculator logic

🔄 CI/CD

Numerra supports automated publishing to PyPI via GitHub Actions.
Releases are triggered using semantic version tags.

Example:

git tag v0.2.0
git push origin v0.2.0

📄 License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

numerra-0.1.3.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

numerra-0.1.3-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file numerra-0.1.3.tar.gz.

File metadata

  • Download URL: numerra-0.1.3.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for numerra-0.1.3.tar.gz
Algorithm Hash digest
SHA256 390847cf6d678ec49376af635ec36b9cf1f7a599ff4b313adf34fdab4ed47295
MD5 f9fcf2634980957bc69cf212d67ff1ad
BLAKE2b-256 ea57d30e4d55b9c95a26d4bd401dd479fe044cc6cc4095d0a20b646ff33d3041

See more details on using hashes here.

File details

Details for the file numerra-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: numerra-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for numerra-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fee4093970601a501ab4ca42d23f0f113f557f8770753db6c9cfac92b3d8bf12
MD5 7ff184a54daa6ec52be78a31d30a93d5
BLAKE2b-256 f8229c76e7244de4f0b122722bb7bbbfa55cc33019aa466d485431d781ff60b6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page