Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

RustAPI

RustAPI Logo

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.

PyPI GitHub Repository License: MIT Python: 3.8+ Rust: 1.75+


📦 Key Open-Source Features Included

Feature Area Implementation Details
FastAPI Compatibility FastAPI & Request aliases, status codes, declared status_code (e.g. 201, 204), async/sync response_model with response_model_exclude/include, structured 422 validation error handling, FastAPI(lifespan=...) ASGI context managers, Depends(..., scope="function"), EventSourceResponse (SSE), jsonable_encoder, Query/Body/Path/Form/File, OAuth2PasswordBearer, HTTPBearer, APIKeyHeader, OpenIdConnect, get_openapi, app.frontend().
Maximum Rust Architecture Direct SQL routes (@app.get(path, sql=...)), lock-free TTL cache (cache_ttl=60), token-bucket rate limiter (rate_limit="100/minute"), SIMD vector similarity (cosine_similarity/vector_search), high-concurrency WebSockets pub/sub (ws.subscribe/app.broadcast), zero-copy disk streaming (await file.save_to()), and native SSE broadcast (sse="topic").
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(), SIMD vector search.
Response Classes HTMLResponse, JSONResponse, PlainTextResponse, RedirectResponse, StreamingResponse, EventSourceResponse.
Request Ergonomics req.json(), req.form, req.body, UploadFile (with save_to zero-copy disk streaming), WebSocket (with pub/sub channels).
AI / MCP Integration Embedded Model Context Protocol server (@app.tool(), @app.resource(), @app.prompt()) at POST /mcp, plus optional hardware-accelerated ONNX serving (pyrustapi[ai]).
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 & Multi-Framework Benchmarks

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      │
└───────────────────────────────────────────────────────────┘

📊 Empirical Benchmark Results (oha Load Generator, $c=32$)

Measured under identical business logic and schemas across Python and Node.js frameworks:

Workload Scenario FastAPI (uvloop) Express.js RustAPI (v1.8.9) Fastify (Node.js) RustAPI Native Tier 3
Sync JSON (GET /json) 3,417 req/s 12,873 req/s 10,178 req/s (⚡ 3.0x vs FastAPI) 17,063 req/s 🚀 96,386 req/s (⚡ 7.5x vs Express)
Async JSON (GET /async_json) 5,430 req/s 13,638 req/s 8,117 req/s (⚡ 1.5x vs FastAPI) 17,122 req/s N/A
Validated POST (POST /items) 2,762 req/s 10,529 req/s 8,621 req/s (⚡ 3.1x vs FastAPI) 13,463 req/s N/A
Response Model (50 items) (GET /users) 1,916 req/s 10,072 req/s 1,928 req/s (⚡ Lower p95) 11,145 req/s N/A
High Concurrency (c=100) 6,088 req/s 12,637 req/s 7,571 req/s (⚡ 1.25x vs FastAPI) 15,523 req/s N/A

Detailed report & reproducible scripts: performance-reports/rustapi_vs_fastapi_vs_nodejs.md

🚀 Maximum Native Rust Architecture Benchmarks (PyRustAPI vs FastAPI Uvicorn, $c=50$)

Under high-concurrency production load with the maximum native Rust acceleration active:

Workload Scenario FastAPI (Uvicorn) PyRustAPI (Native Rust) Empirical Performance Boost Notes
DDoS / Rate Limit Shield (/rate-limit) 2,092.4 req/s (24.0 ms) 62,723.6 req/s (0.79 ms) 🚀 +2,897.6% (30x faster) Handled in Tokio before Python wakes up
SIMD Vector Search (10k vectors × 128 dim) 247.45 ms (Python loop) 23.36 ms (AVX2 registers) 🧠 +959.0% (10.5x faster) Native SIMD vector distance
Database Query (/sql SQLx vs SQLite) 258.2 req/s (201.5 ms) 1,524.0 req/s (32.8 ms) ⚡ +490.2% (6x throughput) Direct socket wire-protocol streaming
Standard JSON Response (/json) 2,609.5 req/s (19.2 ms) 7,732.2 req/s (6.4 ms) 🔥 +196.3% (3x faster) Hyper Ingress + PyO3 C-bindings
In-Memory Cache Hit (/cached) 2,394.2 req/s (20.9 ms) 5,754.9 req/s (8.6 ms) 💾 +140.4% (2.4x faster) Lock-free DashMap cache (sub-100µs)

Detailed report: performance-reports/maximum_rust_architecture_benchmark.md & guide: docs/md/maximum_rust_architecture.md


🏛️ The Maximum Native Rust Execution Model

  1. Tier 1 (FastAPI Drop-in): Standard Python @app.get(), async def, Pydantic models, and dependencies.
  2. Tier 2 (Hybrid Rust Acceleration): Standard Python handlers utilizing native Rust power primitives (db.query_json() SQLite/PostgreSQL streaming, rustapi.encode_jwt(), rustapi.hash_password(), MiniJinja templates, SIMD cosine_similarity).
  3. Tier 3 (Pure Rust Native Fast-Paths & Wire Streaming): Zero-GIL routes registered via @app.get(path, sql=...), @app.get(path, sse=...), or app.add_native_route("/health", ...) clocking up to 96,000+ req/sec with sub-millisecond latencies.
  4. Token-Bucket Shield & In-Memory TTL Cache: Sub-50µs 429 DDoS mitigation and sub-100µs RAM cache hits handled completely in Rust.
  5. Zero-Copy Disk Streaming: High-throughput file uploads (await file.save_to(path)) streamed directly to disk at flat 15MB memory.

🔄 Lifespan Context Manager (ML Models, DB Pools, Resource Cleanup)

RustAPI supports the modern FastAPI @asynccontextmanager lifespan protocol across both ASGI and native Tokio app.run():

from contextlib import asynccontextmanager
from rustapi import FastAPI

ml_models = {}

@asynccontextmanager
async def lifespan(app: FastAPI):
    # Startup: Load ML model or connect to database before handling requests
    print("Loading application resources...")
    ml_models["hero_model"] = "Loaded Model Instance"
    yield
    # Shutdown: Clean up resources and release memory on server exit
    print("Cleaning up resources...")
    ml_models.clear()

app = FastAPI(lifespan=lifespan)

@app.get("/")
async def read_root():
    return {"model": ml_models.get("hero_model")}

if __name__ == "__main__":
    app.run(host="127.0.0.1", port=8000)

⚡ 5 Proven Ways to Maximize Performance

  1. Pre-load Heavy Resources in lifespan: Load models and connection pools once during startup rather than in request handlers.
  2. Zero-Copy SQL with db.query_json(): Stream database query results directly to client sockets without allocating Python dictionary objects.
  3. Declare response_model for Compiled Serialization: RustAPI compiles Pydantic TypeAdapter instances once, boosting serialization by up to 64.5%.
  4. Offload Health Checks to Tier 3 Native Routes: Use app.add_native_route("/health", ...) for ultra-high-frequency endpoints (96,000+ req/s).
  5. Scale Multi-Process Workers: Set workers=os.cpu_count() in app.run() for multi-core parallelism.

📚 Documentation Reference

Detailed documentation is available in the docs/ directory and project reference:


🛠️ 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 1.9.0b9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyrustapi 1.9.0b9
File Size Uploaded Provenance
pyrustapi-1.9.0b9.tar.gz 3.6 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for pyrustapi 1.9.0b9
File
pyrustapi-1.9.0b9-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
pyrustapi-1.9.0b9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.17+ x86-64 Details
pyrustapi-1.9.0b9-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
pyrustapi-1.9.0b9-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details

Total release size: 20.5 MB

Release files / pyrustapi-1.9.0b9.tar.gz

Download URL pyrustapi-1.9.0b9.tar.gz
Size 3.6 MB
Tags Source
SHA-256 checksum
How to use checksums
9f0fe099d25589f5c8f02a288dd1de942de9ce2a348e8e5d65cdb076e0905df3
BLAKE2b-256 checksum
How to use checksums
f5d80cd96f34e85e462b38e4f8fd0757f48076f8e7de96d75b1a8b9a425f22f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / pyrustapi-1.9.0b9-cp38-abi3-win_amd64.whl

Download URL pyrustapi-1.9.0b9-cp38-abi3-win_amd64.whl
Size 4.4 MB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
4b59fc65fa8a4ca2cfaf425b354b9b6f5e5e6804635fff81fb9b4ca034b4e480
BLAKE2b-256 checksum
How to use checksums
a3e358d026a0ba883e6c14f49944ca9de57fe36c2d7c7eabf7d807ecc366372a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / pyrustapi-1.9.0b9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyrustapi-1.9.0b9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
24321df8d56cc13224af13c7733828ecb9e582550d157c068b279698f076f8c2
BLAKE2b-256 checksum
How to use checksums
ca09fa2b9d934396bc7f467ff7f20a35ee707f355eb0bf5407626f691707bf93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / pyrustapi-1.9.0b9-cp38-abi3-macosx_11_0_arm64.whl

Download URL pyrustapi-1.9.0b9-cp38-abi3-macosx_11_0_arm64.whl
Size 3.9 MB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
83968115993b48cb7dc9326425a442aa9052ee310aaa47573abf049828ddd639
BLAKE2b-256 checksum
How to use checksums
fb77161f615feb379d4a07853796d0804cb4914efa3e76992bed5a81b4745dbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / pyrustapi-1.9.0b9-cp38-abi3-macosx_10_12_x86_64.whl

Download URL pyrustapi-1.9.0b9-cp38-abi3-macosx_10_12_x86_64.whl
Size 4.2 MB
Tags CPython 3.8 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a49ef625e3d826e75d5249f667018bfabc57048d4b06d326122dcd297ff333ad
BLAKE2b-256 checksum
How to use checksums
030ee5d6488373f219bff489a804ab427bdcc539a750f3815e5dbe52be4cab6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Security for pyrustapi 1.9.0b9

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.

Full provenance

All 5 files in this release have been uploaded with provenance metadata.

Select from 5 files

Attestation for pyrustapi-1.9.0b9.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page