Skip to main content

High-performance Python bindings for Rust crates

Project description

🦀 Rusthonian

High-performance Python bindings for Rust crates

CI License

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.md for 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

🧪 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:

  1. Fork the repo
  2. Create a feature branch
  3. Make your changes
  4. Run tests: ./test_all.sh
  5. Submit a PR

📮 Links


Built with PyO3 ❤️

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

Rusthonian-0.1.0.tar.gz (28.1 kB view details)

Uploaded Source

Built Distribution

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

Rusthonian-0.1.0-cp313-cp313-manylinux_2_34_x86_64.whl (275.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

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

Hashes for Rusthonian-0.1.0.tar.gz
Algorithm Hash digest
SHA256 81438ac80ed163b7da8b4194ee7bae86bef7868600a7221d779f106085d926b5
MD5 6f664ea641341971ff64328af7786ac2
BLAKE2b-256 c780615ae5d7389a1546b2a26fd9429ca4e2d37b010982535b58004a1539fb7e

See more details on using hashes here.

File details

Details for the file Rusthonian-0.1.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for Rusthonian-0.1.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1704473966ee2f6dbac3ebe0742f287ecce99544474138cafccf78416908ad5d
MD5 72fa9ef74a68e9f58448e17026c7c1a2
BLAKE2b-256 33404fb969951961a2597ef78f54f9d22a720ddec6e32d5e7512eb01008fe5cc

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