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.5.tar.gz (7.3 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.5-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: numerra-0.1.5.tar.gz
  • Upload date:
  • Size: 7.3 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.5.tar.gz
Algorithm Hash digest
SHA256 54e68303ce9a939db359816de00846b23f38154c9b6158fbaeb3b2023c7032f0
MD5 e72363d1be09caaa0114ea29a9b462b5
BLAKE2b-256 b316809a4097f241141ce2845156b096886e4f41edf6f5488b7bf31caa212bfd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: numerra-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 10.2 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1f9a28f3aa5e5747edfba8a23d63ed860716c53801b318bed37fb190c50e825b
MD5 7c774bee9cf6f325fd8fc5494d49fcb1
BLAKE2b-256 806708b2dce1f561950e32ff4f216717d73c6e4e69875e8a67d7a7480a08d30e

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