RustAPI
FastAPI-style Python Web Framework backed by a Rust (Tokio / Hyper) Engine — with embedded Rust Database Streaming, JWT & Argon2 Primitives, Tier 3 Rust-Native Routes, and a built-in MCP Server.
📦 Key Open-Source Features Included
| Feature Area | Implementation Details |
|---|---|
| FastAPI Compatibility | FastAPI & Request aliases, status codes, EventSourceResponse (SSE), jsonable_encoder, Query/Body/Path, OAuth2PasswordBearer, app.frontend(). |
| HTTP & Routing | FastAPI-style @app.get, @app.post, APIRouter, Depends, app.dependency_overrides, response_model, reload=True. |
| Rust-Native Tier 3 Routes | app.add_native_route() zero-GIL C-speed fast-paths (50,000+ req/sec). |
| Database Engine | sqlx SQLite & PostgreSQL pool (app.connect_db()) with zero-copy JSON streaming (db.query_json()). |
| Power Primitives | Native Rust encode_jwt() / decode_jwt(), Argon2 hash_password() / verify_password(), MiniJinja render_template(). |
| Response Classes | HTMLResponse, JSONResponse, PlainTextResponse, RedirectResponse, StreamingResponse, EventSourceResponse. |
| Request Ergonomics | req.json(), req.form, req.body, UploadFile, WebSocket. |
| AI / MCP Integration | Embedded Model Context Protocol server (@app.tool(), @app.resource(), @app.prompt()) at POST /mcp. |
| Telemetry & Observability | Terminal access logging (INFO: 127.0.0.1 - "GET /render HTTP/1.1" 200 - 0.45ms), Swagger UI (/docs), OpenAPI (/openapi.json). |
⚡ Framework Standing & Capability Comparison
rustapi delivers 100% FastAPI developer experience (DX) while running on a high-performance Rust (Tokio/Hyper) core engine.
┌───────────────────────────────────────────────────────────┐
│ Python Layer (DX) │
│ FastAPI Syntax • Pydantic Models • Routers • SSE • Docs │
└─────────────────────────────┬─────────────────────────────┘
│ PyO3 C-Bindings
┌─────────────────────────────▼─────────────────────────────┐
│ Rust Tokio/Hyper Core │
│ Async Multi-Thread IO • Tokio Workers • sqlx DB • SSE │
└───────────────────────────────────────────────────────────┘
| Capability | FastAPI | RustAPI (pyrustapi) |
rustapi Advantage |
|---|---|---|---|
API Syntax (@app.get, Depends, APIRouter) |
✅ | ✅ | 100% drop-in API compatibility |
Interactive Docs (/docs, /redoc) |
✅ | ✅ | Swagger UI & ReDoc served natively |
| SSE Real-Time AI Streaming | ✅ | ✅ | Low-latency token streaming for LLMs |
Single-Page App Serving (app.frontend) |
❌ Manual | ✅ | Zero-config React/Vite/Svelte dist serving |
Embedded DB Engine (sqlx) |
❌ None | ✅ | Native C/Rust DB pool with zero-copy JSON |
| Rust Security Primitives (Argon2/JWT) | ❌ External | ✅ | Built-in high-speed C-extension primitives |
| Model Context Protocol (MCP Server) | ❌ External | ✅ | Built-in AI Agent MCP server (POST /mcp) |
| Peak Throughput (Native Fast-Paths) | ~5k req/s | 50,000+ req/s | Zero-GIL Tokio execution for critical routes |
📚 Documentation Reference
Detailed documentation is available in the docs/ directory and project reference:
- 📖 Getting Started & Core Routing
- ⚡ FastAPI Compatibility & Feature Guide
- 📚 Complete API & Migration Guide
- 🏛️ 3-Tier Architecture Guide
- ⚡ Tier 3 Rust-Native Business Logic Guide
- 🗄️ Rust-Native Database Engine
- 🔐 Embedded Rust Power Primitives (JWT, Argon2, MiniJinja)
- 🤖 Model Context Protocol (MCP) Server
- 📦 Response Types & Request Ergonomics
- 📊 Swagger UI & DX Deviations Guide
- 📊 Empirical Performance Benchmark Report
🛠️ Local Development & Testing
Build from source with maturin:
# Clone the repository
git clone https://github.com/rajboopathiking/rustapi.git
cd rustapi
# Build release wheel with Maturin
pip install maturin
maturin develop --release
# Run full test suite
pytest tests/ -v
PYPI Package
pip install pyrustapi
📄 License
Distributed under the MIT License.
Metadata
Release files for pyrustapi 0.3.34
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyrustapi-0.3.34.tar.gz | 3.4 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pyrustapi-0.3.34-cp38-abi3-win_amd64.whl | CPython 3.8 | abi3 | Windows x86-64 | Details |
| pyrustapi-0.3.34-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| pyrustapi-0.3.34-cp38-abi3-macosx_11_0_arm64.whl | CPython 3.8 | abi3 | macOS 11.0+ ARM64 | Details |
| pyrustapi-0.3.34-cp38-abi3-macosx_10_12_x86_64.whl | CPython 3.8 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 19.8 MB
Release files / pyrustapi-0.3.34.tar.gz
| Download URL | pyrustapi-0.3.34.tar.gz |
|---|---|
| Size | 3.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c4ac0719fe540f6ca650cab06bb2ce808a3eb41949fd574b82618800eb38a94f
|
|
BLAKE2b-256 checksum How to use checksums |
1d0d5c4e544b14443647ea1e879e6106392db5fef44d4a5c12d29cf43c6f1f0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pyrustapi-0.3.34-cp38-abi3-win_amd64.whl
| Download URL | pyrustapi-0.3.34-cp38-abi3-win_amd64.whl |
|---|---|
| Size | 4.3 MB |
| Tags | CPython 3.8 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
c5a1f7efbbd7b0dac6968244a13d9825d376032d35839a1a97d2e4b26619c47f
|
|
BLAKE2b-256 checksum How to use checksums |
5920e720377f16529c288c81275c16e737835cdd066208f1d588d5f9d3f9a73e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pyrustapi-0.3.34-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pyrustapi-0.3.34-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 4.2 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
4ab19bff11d811daf25376afcd91863b1e823605fa1b560a8f98d6e67e9b1e80
|
|
BLAKE2b-256 checksum How to use checksums |
6fd7e9c8c9a2ce56906a48dd1546d3ce5aa89e9a6326eb293e12fc5a2a9a61f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pyrustapi-0.3.34-cp38-abi3-macosx_11_0_arm64.whl
| Download URL | pyrustapi-0.3.34-cp38-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.8 MB |
| Tags | CPython 3.8 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8c649b4ce5bc35ba2bc6fdede440e51eacd0453f9538e332e5a11fe71f1e646f
|
|
BLAKE2b-256 checksum How to use checksums |
79ba6c5f4bd8dda27f84f9a719a1f8aa1f958e36bdc5c673270c46fc0350b178
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pyrustapi-0.3.34-cp38-abi3-macosx_10_12_x86_64.whl
| Download URL | pyrustapi-0.3.34-cp38-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.8 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
fae3b2ad8ab0e2c3064b93a96ced101dd334d564415a715db382b4f35d80dfa3
|
|
BLAKE2b-256 checksum How to use checksums |
95f391d05ce8b38445628d7e8bdbdb387d21055e9142447c3f941a0cfa4fcf39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|