Skip to main content

Tiny base converter (2..36) in ~1KB (zero deps).

Project description

nano-base

PyPI License Size CI

Tiny base converter (2..36) — ~1 KB, zero deps. 255 → FF (base 10→16), FF → 11111111 (16→2), negatives supported. Perfect for code-golf, minimal containers, or just for fun.


✨ Features

  • ✅ Convert between any bases 2..36 (digits 0-9A-Z, case-insensitive)
  • ✅ Two forms:
    • <value> <to_base> (assumes from=10)
    • <value> <from_base> <to_base>
  • ✅ Handles negatives, 0

🚀 Usage

# Local (from repo)
python app_min.py 255 16        # FF
python app_min.py FF 16 2       # 11111111
python app_min.py -42 10 16     # -2A

After installing:

# CLI
pip install nano-base
nano-base 255 16                # -> FF
nano-base FF 16 2               # -> 11111111
nano-base -2A 16 10             # -> -42

🤓 Why so small?

  • Uses int(s, base) + tiny loop to format in target base
  • No bigint libs; Python int already arbitrary precision
  • Single tiny file + tiny CLI: perfect for scripts, containers, CI.

🎉 Fun Ideas

  • Hex table (0..255)
for i in $(seq 0 255); do printf "%3d -> %s\n" $i "$(nano-base $i 16)"; done
  • Binary width (pad with printf)
printf "%08d\n" "$(nano-base 42 2)"   # 000101010 (pad separately)
  • Base36 IDs
nano-base 123456789 10 36   # -> 21I3V9

Note: Valid range is bases 2..36; input is case-insensitive (a..z ≡ A..Z).


📜 License

MIT © 2025

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

nano_base-0.1.0.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nano_base-0.1.0-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file nano_base-0.1.0.tar.gz.

File metadata

  • Download URL: nano_base-0.1.0.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for nano_base-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bcf63997b4877403a2825fb2c6fa80084b84db5a41dcda1fdc72a43b617b1db3
MD5 9f47f5bbf4060b186e1a3357160f0938
BLAKE2b-256 6586f2e129a2bb5c943e808ab040ccabaa0c6dd6b7fa53d09a9d2ad1f12fdd24

See more details on using hashes here.

File details

Details for the file nano_base-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: nano_base-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for nano_base-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e914418e5ed9f065a334f8eaa1aebb1faa1a80fed1ea57c76c5455ca305fc4a
MD5 cb223037ce244f626c05e84bf26712cf
BLAKE2b-256 95e848bcebed7f1f4b80b5a337b60d52dc1526b481c980265d64d7674b6849ef

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