Tiny Roman↔Decimal converter in ~1KB (zero deps)
Project description
nano-roman
World’s tiniest Roman ↔ Decimal number converter — ~1 KB, zero deps. Single-file, CLI included. Perfect for code-golf, minimal containers, or just for fun.
✨ Features
- ✅
int → ROMANandROMAN → int(case-insensitive) - ✅ Standard subtractive forms:
IV, IX, XL, XC, CD, CM - ✅ Classic 1–3999 supported; >3999 continues with repeated
M - ✅ Zero dependencies, single tiny file
- ✅ CLI:
nano-roman
🚀 Usage
# Local (from repo)
python app_min.py 3999 # MMMCMXCIX
python app_min.py XL # 40
After installing:
# CLI
pip install nano-roman
nano-roman 1984 # -> MCMLXXXIV
nano-roman XLII # -> 42
nano-roman mmxxv # -> 2025
🤓 Why so small?
- Minimal token table (S and V) + greedy subtractive matching
- No heavy parsing/regex trees, no dependencies
- Single module + tiny CLI wrapper
🎉 Fun Ideas
- Convert the current year
(Get-Date -Format yyyy) | % { nano-roman $_ } # 2025 -> MMXXV
date +%Y | xargs nano-roman # 2025 -> MMXXV
- “Roman clock” (hour only)
(Get-Date -Format HH) | % { nano-roman $_ } # 14 -> XIV
date +%I | xargs nano-roman # 07 -> VII
- Git tag in Roman
git tag "v$(nano-roman 2025)" && git push origin "v$(nano-roman 2025)"
- Batch convert a list
printf "4\n9\n42\n1999\n" | while read n; do nano-roman "$n"; done
# IV, IX, XLII, MCMXCIX
- Quick Windows alias
Set-Alias r nano-roman
r 3999 # -> MMMCMXCIX
Note: Classical Roman numerals have no zero and no negative values.
📜 License
MIT © 2025
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nano_roman-0.1.1.tar.gz.
File metadata
- Download URL: nano_roman-0.1.1.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
144fe8070b98f9a828c53c6c955496b0b48069ce4004c7bc81636d9cb3e03993
|
|
| MD5 |
d5296e1994bdb8c44012b4e4c5052cb4
|
|
| BLAKE2b-256 |
9238c1fe45cee409cb10afddbc49a9a3979250b99a33eb66372bf41e94b25582
|
File details
Details for the file nano_roman-0.1.1-py3-none-any.whl.
File metadata
- Download URL: nano_roman-0.1.1-py3-none-any.whl
- Upload date:
- Size: 3.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5de8eafbf1583368a20419a6e9cd0d99f22c21e6fa3e623e3bec48e7e3840a0
|
|
| MD5 |
05a6a86efa0db9e0e575eaa4fa108830
|
|
| BLAKE2b-256 |
d8035eacc23113231213b1cf776c8d22b9fd439c37e43021fb981ee1938cb16e
|