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.4.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.4-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: numerra-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 4a6720fa6e1f9fc4d3f981c82b2c88cd0eb04fcaa96368f61ca21500dc596ea3
MD5 bbfc213a8f5f8c908395d69fc673344a
BLAKE2b-256 6b0e0963691327f04c029ea1305c8f760e3c74b03f626bf4f4c80cbfa1fdd9c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: numerra-0.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 86153902f3bb954616bb8e613c39f09932bb558c721799bc2e0bf0cb1cc2b6dd
MD5 c90c36d91616d4ac11d4d35213fadb97
BLAKE2b-256 31a2659c7e8ff1faa823da1b8d13312b0874799928facc730b01913b6befb90b

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