๐ข NexusCalc
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
horhelpfor documentation - ๐ง Keyboard interrupts - Ctrl+C gracefully handled
๐ฆ Installation
python -m pip install nexuscalc
๐ Usage
Interactive Mode (Recommended)
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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| nexuscalc-3.0.0.post1.tar.gz | 18.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|