Repository navigation
v1.0.0
Release 1.0.0
This marks the first stable release of ulid-python! After comprehensive testing
and optimization, the library is now ready for use.
Features
- High Performance: Rust-powered implementation with optimized Base32 encoding
- Monotonic Ordering: Guarantees lexicographic ordering within the same millisecond
- Thread Safe: Safe for concurrent use across multiple threads
- Type Safe: Full type hints for modern Python development
- Multiple Formats: Support for string, UUID, and binary representations
- Standards Compliant: Full ULID specification compliance with Crockford Base32
Performance
- Zero-copy operations
- Optimized memory usage
- Pre-computed lookup tables for encoding/decoding
Installation
# Using pip
pip install ulid-python
# Using uv (recommended)
uv add ulid-python
# Basic Usage
import pyulid
# Generate a ULID
ulid_str = pyulid.ulid()
print(ulid_str) # 01ARZ3NDEKTSV4RRFFQ69G5FAV
# Use as an object
ulid_obj = pyulid.ULID()
print(ulid_obj.datetime) # datetime object
print(ulid_obj.timestamp) # milliseconds since epochFull documentation available in the
https://github.com/yosephbernandus/ulid-python/blob/master/README.md.