Skip to main content

๐Ÿ”ข NexusCalc

PyPI version Python versions License: MIT PyPI downloads Made with โ˜• Built with โค๏ธ

A powerful interactive CLI calculator that just works.

NexusCalc - because sometimes you need to calculate things and your brain said "no."

โœจ Features

  • โž• Addition - Add two numbers
  • โž– Subtraction - Subtract second from first
  • โœ–๏ธ Multiplication - Multiply two numbers
  • โž— Division - Divide first by second (with zero division error handling)
  • ๐Ÿ  Floor - Floor division (integer result)
  • ๐Ÿ”ข Modulo - Remainder after division
  • โšก Exponent - Raise first number to the power of second
  • โˆš Square Root - Square root of a number
  • โฟโˆš Nth Root - Nth root of a number
  • ๐Ÿ”ข Floating-point precision - 0.1 + 0.2 = 0.3 (we fixed it!)
  • ๐Ÿ›ก๏ธ Error handling - Division by zero? We got you
  • โŒจ๏ธ Regex quit patterns - q, Q, quit, QUIT, 10
  • ๐Ÿ“Š Calculation counter - Track your math history
  • ๐ŸŽจ Beautiful formatting - Clean, color-coded output
  • ๐Ÿ’ก Built-in help - Type h or help for documentation
  • ๐Ÿง  Keyboard interrupts - Ctrl+C gracefully handled

๐Ÿ“ฆ Installation

python -m pip install nexuscalc

๐Ÿš€ Usage

from nexuscalc import start_calc
start_calc()

Or using the wrapper:

from nexuscalc import nexuscalc
nexuscalc.start_calc()

Or after installation, just run:

nexuscalc

Programmatic Usage

from nexuscalc.core.operations import Operations

ops = Operations()

# Basic operations
result = ops.add(5, 3)           # Returns 8
result = ops.subtract(10, 4)     # Returns 6
result = ops.multiply(3, 4)      # Returns 12
result = ops.divide(10, 2)       # Returns 5.0

# Advanced operations
result = ops.floor_divide(10, 3) # Returns 3
result = ops.modulo(10, 3)       # Returns 1
result = ops.exponent(2, 3)      # Returns 8 (2^3)
result = ops.square_root(16)     # Returns 4.0 (โˆš16)
result = ops.nth_root(8, 3)      # Returns 2.0 (ยณโˆš8)

๐ŸŽฎ Interactive Commands

While using the calculator, you can type:

Command Action
1 Add โž•
2 Subtract โž–
3 Multiply โœ–๏ธ
4 Divide โž—
5 Floor ๐Ÿ 
6 Modulo ๐Ÿ”ข
7 Exponent โšก
8 Square Root โˆš
9 Nth Root โฟโˆš
10, q, Q, quit, QUIT Exit calculator
h, help, ? Show help
Ctrl+C Cancel current operation
Ctrl+D Exit calculator

๐Ÿ“ Examples

from nexuscalc import start_calc

# Start the calculator
start_calc()

# Example session:
# ==================================================
# ๐Ÿ”ข NEXUSCALC - Powerful Calculator
# ==================================================
# 
# 1. Add โž•
# 2. Subtract โž–
# 3. Multiply โœ–๏ธ
# 4. Divide โž—
# 5. Floor ๐Ÿ 
# 6. Modulo ๐Ÿ”ข
# 7. Exponent โšก
# 8. Square Root โˆš
# 9. Nth Root โฟโˆš
# 10. Quit ๐Ÿšช
# 
# Use 1-10
# NEXUSCALC > 9
# Enter the number
# NEXUSCALC > 8
# Enter the root (n)
# NEXUSCALC > 3
# 
# ==================================================
# ๐Ÿ“Š Calculation #1
# ==================================================
#   ยณโˆš8 = 2.0
# ==================================================

๐Ÿ›ก๏ธ Error Handling

NexusCalc handles errors gracefully:

# Even root of negative number
NEXUSCALC > 9
Enter the number
NEXUSCALC > -8
Enter the root (n)
NEXUSCALC > 2

โŒ Error: Cannot take even root of a negative number!

# Division by zero
NEXUSCALC > 4
Enter first number
NEXUSCALC > 10
Enter second number
NEXUSCALC > 0

โŒ Division Error: Cannot divide by zero!
๐Ÿ’ก Hint: You cannot divide by zero. Please try a different number.

๐Ÿ“Š Why NexusCalc?

Feature NexusCalc Other Calculators
CLI Interface โœ… โŒ
Error Handling โœ… โš ๏ธ
Regex Quit Patterns โœ… โŒ
Floating Point Precision โœ… โš ๏ธ
Built-in Help โœ… โŒ
Calculation Counter โœ… โŒ
Keyboard Interrupts โœ… โŒ
Beautiful Output โœ… โŒ
Modulo Operation โœ… โš ๏ธ
Exponent Operation โœ… โš ๏ธ
Square Root Operation โœ… โš ๏ธ
Nth Root Operation โœ… โŒ

๐Ÿ“‹ Version History

Version Changes
3.0.0 โœ… STABLE - Added Nth Root, Quit moved to 10
2.6.0 โœ… STABLE - Added Square Root, Quit moved to 9
2.5.0 โœ… STABLE - Added Exponent, Quit moved to 8
2.1.0 โœ… STABLE - Added Modulo, Quit moved to 7
2.0.0 โœ… STABLE - Removed calculate(), start_calc() is the only entry point
1.1.0 โœ… STABLE - Added start_calc(), deprecated calculate()
1.0.0 โœ… STABLE - Initial release

๐Ÿงช Development

Run tests:

python -m pytest tests/ -v

Run tests with coverage:

python -m pytest tests/ --cov=src/nexuscalc

๐Ÿ“ Project Structure

nexuscalc/
โ”œโ”€โ”€ src/nexuscalc/
โ”‚   โ”œโ”€โ”€ core/          # Core calculator logic
โ”‚   โ”œโ”€โ”€ parsers/       # Expression parsing
โ”‚   โ”œโ”€โ”€ evaluator/     # Expression evaluation
โ”‚   โ”œโ”€โ”€ utils/         # Utilities and helpers
โ”‚   โ””โ”€โ”€ exceptions/    # Custom exceptions
โ”œโ”€โ”€ tests/             # Unit tests
โ”œโ”€โ”€ examples/          # Usage examples
โ””โ”€โ”€ setup.py          # Package setup

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ License

MIT License - see the LICENSE file for details.

๐Ÿ‘ค Author

Light Bulb Experiments ยฉ 2026

๐Ÿ™ Acknowledgments

  • Built with โ˜• and โค๏ธ
  • Inspired by the need for a simple, powerful CLI calculator
  • Thanks to all users who made this better

โญ Show Your Support

If you find NexusCalc useful, please consider:

  • โญ Starring the repository on GitHub
  • ๐Ÿ› Reporting issues
  • ๐Ÿ’ก Suggesting features
  • ๐Ÿ”ง Contributing code

Made with โค๏ธ by Light Bulb Experiments

Release files for nexuscalc 3.0.0.post1

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

Source distribution (sdist)

Source distribution for nexuscalc 3.0.0.post1
File Size Uploaded
nexuscalc-3.0.0.post1.tar.gz 18.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nexuscalc 3.0.0.post1
File Interpreter ABI Platform
nexuscalc-3.0.0.post1-py3-none-any.whl Python 3 none any Details

Total release size: 35.7 kB

Release files / nexuscalc-3.0.0.post1.tar.gz

Download URL nexuscalc-3.0.0.post1.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b85bf5e5ede8441b95a1458918e2d94511dcf970c1721f3ec870ad8f55d060da
BLAKE2b-256 checksum
How to use checksums
c02a28f45506b82be6ddd2be68edda1d17dec416b6fb6901458e5335e3778a5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / nexuscalc-3.0.0.post1-py3-none-any.whl

Download URL nexuscalc-3.0.0.post1-py3-none-any.whl
Size 17.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8967741d8c253c33b205b55e168bdb84292ec756cef03e6c705717cc9a81cb59
BLAKE2b-256 checksum
How to use checksums
405ee97e6e9ca436dbfca687c8d26ff2098ef8361fa914c0c68efdbf6257db91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12
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