eBase32
eBase32 is a custom Base32 encoding standard designed to be fully URL-safe and free from ambiguous characters. The goal is to provide a human-friendly, robust, and deterministic alternative to classical Base32 schemes such as Crockford or RFC 4648.
Features
- ✅ No ambiguous characters (
0,O,I,l,1,S,B,Z, etc.) - ✅ Fully alphanumeric – no symbols
- ✅ Ideal for IDs, tokens, URLs, QR codes, or human-readable values
- ✅ No padding, no special rules
The character set consists of the following 32 characters:
ACEFHKLMNPRTWXYadeghknrtwxy34679
Installation
pip install eBase32
Usage
Functional API
from eBase32 import encode, decode
data = b"hello world"
encoded = encode(data)
decoded = decode(encoded)
assert decoded == data
Object-Oriented API
from eBase32 import EBase32
id = EBase32(b"hello")
print(str(id)) # eBase32 string
print(id.bytes) # original bytes
print(id.string) # eBase32 string (same as str())
print(bytes(id)) # original bytes
Comparison & Equality
a = EBase32(b"data")
b = EBase32(str(a))
assert a == b
assert a == b.bytes
assert a == b.string
License
Released under the MIT License.
Author
Endkind (@Endkind)
Technical Specification
For implementation and specification details, see STANDARD.md.
- Bit packing
- Character set origin
- Comparison to other standards
- Performance considerations
Metadata
Release files for eBase32 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ebase32-0.0.1.tar.gz | 3.8 kB | Without provenance | Details for ebase32-0.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ebase32-0.0.1-py3-none-any.whl | Python 3 | none | any | Details for ebase32-0.0.1-py3-none-any.whl |
Total release size: 8.2 kB
Release files / ebase32-0.0.1.tar.gz
| Download URL | ebase32-0.0.1.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8d5193c7ca5b6ffcc8652983b5e0c57a10939169d03154e92121c284a2596946
|
|
BLAKE2b-256 checksum How to use checksums |
4b193dbb6af82b2dce33cc6e147e5945aa78c5293b5625ee8032dd9433603a1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Release files / ebase32-0.0.1-py3-none-any.whl
| Download URL | ebase32-0.0.1-py3-none-any.whl |
|---|---|
| Size | 4.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c49dd917573fb006363009229f126aa877b93e7e29d1ec5dac4827b0915d0cc5
|
|
BLAKE2b-256 checksum How to use checksums |
85093446d78208f03afda109d4f545100d6b8af0518ace10c9d376f734750dd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Security for eBase32 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.