High-performance Python bindings for Rust crates
Project description
🦀 Rusthonian
High-performance Python bindings for Rust crates
Rusthonian is an umbrella project that provides Python bindings for high-quality Rust crates through PyO3.
🚀 Quick Start
# 1. Clone
git clone https://github.com/YourUsername/Rusthonian.git
cd Rusthonian
# 2. Build
pip install maturin
maturin develop --release
# 3. Use
python -c "from Rusthonian import uuid; print(uuid.uuid4())"
📦 Included Modules
UUID
Complete Python bindings for Rust's uuid crate.
- All UUID versions (v1-v8)
- 9.6+ million UUIDs/second performance
- See
uuid/README.mdfor full documentation
Example:
from Rusthonian import uuid
u = uuid.uuid4() # Random UUID
print(u)
🛠️ Building
Requirements
- Python 3.9+
- Rust (latest stable)
- Maturin (
pip install maturin)
Build Commands
# Development build (editable install)
maturin develop --release
# Production build (wheel)
maturin build --release
# Quick test
python -c "from Rusthonian import uuid; print(uuid.uuid4())"
Python 3.13+
export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
maturin develop --release
📖 Documentation
- Quick Start: See
QUICKSTART.md - UUID Module: See
uuid/README.md - Examples: Check
examples/
🧪 Testing
# Run all tests
./test_all.sh
# Or manually
python examples/basic_usage.py
python uuid/test_comprehensive.py
🏗️ Project Structure
Rusthonian/
├── src/ # Main umbrella project
│ └── lib.rs
├── uuid/ # UUID module
│ ├── src/
│ └── README.md
├── Rusthonian/ # Python package wrapper
│ └── __init__.py
├── examples/ # Usage examples
├── Cargo.toml # Rust config
└── pyproject.toml # Python packaging
📄 License
Dual-licensed under MIT OR Apache-2.0
🤝 Contributing
Contributions welcome! Please:
- Fork the repo
- Create a feature branch
- Make your changes
- Run tests:
./test_all.sh - Submit a PR
📮 Links
Built with PyO3 ❤️
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 Rusthonian-0.1.0.tar.gz.
File metadata
- Download URL: Rusthonian-0.1.0.tar.gz
- Upload date:
- Size: 28.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81438ac80ed163b7da8b4194ee7bae86bef7868600a7221d779f106085d926b5
|
|
| MD5 |
6f664ea641341971ff64328af7786ac2
|
|
| BLAKE2b-256 |
c780615ae5d7389a1546b2a26fd9429ca4e2d37b010982535b58004a1539fb7e
|
File details
Details for the file Rusthonian-0.1.0-cp313-cp313-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: Rusthonian-0.1.0-cp313-cp313-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 275.9 kB
- Tags: CPython 3.13, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1704473966ee2f6dbac3ebe0742f287ecce99544474138cafccf78416908ad5d
|
|
| MD5 |
72fa9ef74a68e9f58448e17026c7c1a2
|
|
| BLAKE2b-256 |
33404fb969951961a2597ef78f54f9d22a720ddec6e32d5e7512eb01008fe5cc
|