Skip to main content

justapi Runtime

A production-grade Python web framework written in Rust. Rust owns the network/protocol stack; Python executes only application logic.

10-20x faster than FastAPI — see BENCHMARKS.md.

Project Status

Phase 40 — The JustAPI 2.0 "Singularity" Release (ready for publish)

All 39 prior phases complete. CI/CD pipeline overhauled: uv-based builds, cargo-deny security audit, Miri memory safety, OIDC trusted publishing to PyPI. See PLAN.md for the full roadmap.

Architecture

Kernel → epoll/io_uring → Connection Manager → tokio task
  → TLS (rustls) → HTTP parse (hyper) → Router (matchit)
  → Middleware chain (Rust: auth/CORS/rate-limit/compression)
  → Python boundary (typed, zero-copy request view via PyO3)
  → Application code (native Python handler)
  → Rust serializer (serde_json/simd-json)
  → Response write → Socket

justapi provides a single native Python API (Tier B) — the FastAPI replacement that runs entirely in Rust with zero-copy Python integration.

Quick Start

Python Native API

from justapi import JustAPIApp

app = JustAPIApp()

@app.get("/hello/{name}")
async def hello_handler(request):
    name = request["path_params"]["name"]
    return {"message": f"Hello {name}!"}

app.run("127.0.0.1:8080")

Install the package:

pip install justapi           # via pip
uv pip install justapi        # via uv (recommended)
uvx justapi create my_app     # no install needed

Or build from source with maturin:

cd crates/justapi-py
maturin develop --release

CLI

# Run server with Rust-defined routes
justapi serve --addr 127.0.0.1:8080

# Generate a client SDK from your API
justapi gen-client --lang python

Features

Area Status
HTTP/1.1 & HTTP/2 ✅ 324k req/s hello-world
WebSocket & SSE ✅ Streaming, token-generation optimized
TLS (rustls) ✅ 10.7% overhead
Middleware ✅ CORS, SecurityHeaders, JWT, RateLimiter
JWT Auth ✅ RS256/ES256, per-route roles/scopes
Serialization ✅ serde_json, simd-json optional
Request Validation ✅ JSON Schema, Pydantic bridge
OpenAPI Generation ✅ Auto-generated /docs and /redoc
Database ORM ✅ SQLite/PostgreSQL/MySQL via sqlx
gRPC ✅ Native Tonic integration
GraphQL ✅ async-graphql, Apollo Federation
Observability ✅ OTel tracing, Prometheus metrics, structured logging
Resilience ✅ Circuit breakers, retry, fallback, bulkhead
Rate Limiting ✅ GCRA algorithm, Redis-backed
WASM Middleware ✅ wasmtime embedded plugins
Agent DAG Engine ✅ DAG orchestration in Rust
Background Tasks ✅ Thread-safe task scheduling
Dependency Injection ✅ Litestar-style tiered DI
Snapshot Testing ✅ Built-in test utilities
Static Files ✅ Range requests, MIME detection
Compression ✅ gzip/deflate/brotli/zstd
Plugin System ✅ Third-party plugin API
Memory Safety ✅ Miri-verified unsafe blocks, 6 fuzz targets
Supply Chain Security ✅ cargo-deny v0.20 — advisories, bans, licenses, sources

Development

Prerequisites

  • Rust 1.85+ (edition 2021)
  • Python 3.11+

Building

cargo build --workspace               # debug build
cargo build --workspace --release      # release build
cargo test --workspace                 # run all tests (493+)
cargo clippy --workspace --tests -- -D warnings # lint
cargo fmt --check                      # format check
cargo deny check                       # supply chain security audit
cargo miri test -p justapi-core        # memory safety (nightly)

Benchmarking

See BENCHMARKS.md for methodology and results.

# Install load generator
cargo install oha

# Run baseline benchmarks
bash benchmarks/run_baselines.sh

Project Structure

crates/
  justapi-core/   — networking, protocol, scheduler, memory
  justapi-py/     — PyO3 bindings, native Python API
  justapi-cli/    — `justapi` CLI binary
  justapi-bench/  — internal benchmark harness
python/
  justapi/        — pip-installable Python package
fuzz/              — cargo-fuzz targets (6 targets)
docs/              — documentation
skills/            — reusable knowledge modules for development
benchmarks/        — workload scripts for performance testing

Documentation

License

MIT

Metadata

Release files for justapi 2.0.10

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

Built distributions (wheels)

Table of built distributions (wheels) for justapi 2.0.10
File
justapi-2.0.10-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
justapi-2.0.10-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
justapi-2.0.10-cp311-abi3-musllinux_1_2_x86_64.whl CPython 3.11 abi3 Linux musl 1.2+ x86-64 Details
justapi-2.0.10-cp311-abi3-musllinux_1_2_aarch64.whl CPython 3.11 abi3 Linux musl 1.2+ ARM64 Details
justapi-2.0.10-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 abi3 Linux glibc 2.17+ x86-64 Details
justapi-2.0.10-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 abi3 Linux glibc 2.17+ ARM64 Details
justapi-2.0.10-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details
justapi-2.0.10-cp311-abi3-macosx_10_12_x86_64.whl CPython 3.11 abi3 macOS 10.12+ x86-64 Details

Total release size: 101.6 MB

Release files / justapi-2.0.10-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL justapi-2.0.10-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 13.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
22ba6df2b1fbbd446117c063688f4847cbab4403ebcc9448fb3b86c3428c8d66
BLAKE2b-256 checksum
How to use checksums
68c53143d5c2918c55c95b14ef6579b4d8feb02fa1db6ef1a9c7edad27ab1d24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / justapi-2.0.10-cp311-abi3-win_amd64.whl

Download URL justapi-2.0.10-cp311-abi3-win_amd64.whl
Size 11.3 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
ff6941fe6d8bbf6ecb2bb87b41686a14bc835ab997d67a232a25b5349a64310e
BLAKE2b-256 checksum
How to use checksums
d13a52b547d9ec06c9fc08d9dc47666c3646d9aebdf57e0a58aed1b908ee2e59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / justapi-2.0.10-cp311-abi3-musllinux_1_2_x86_64.whl

Download URL justapi-2.0.10-cp311-abi3-musllinux_1_2_x86_64.whl
Size 12.6 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
b12e1b46a04e354df51f39f45d5b5a1575b3b4fe5c14aaee7e7edff5a04599c8
BLAKE2b-256 checksum
How to use checksums
6f5ca7e09c7f68f3e1a9627852e7abfa591a4a085b9a6f6978193b29334e9274
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / justapi-2.0.10-cp311-abi3-musllinux_1_2_aarch64.whl

Download URL justapi-2.0.10-cp311-abi3-musllinux_1_2_aarch64.whl
Size 11.5 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
10d4c4cb21ea2ab3dd735ade1502c80158657f8a84e655405e9415e2ecb28acf
BLAKE2b-256 checksum
How to use checksums
904d7289ea52b3d028bd02f7c38c466aad4075f9a23c5ab5c09c53ae66420ffc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / justapi-2.0.10-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL justapi-2.0.10-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 12.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
343ba1dcc202968a35f80894c5f4c0fa753d6f3d264761be0a2d2fbb3829a3ea
BLAKE2b-256 checksum
How to use checksums
9ea2e677bd2a01db771b89f47b298639ddcf0b23297d9400db9b67a2b92d7c5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / justapi-2.0.10-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL justapi-2.0.10-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 11.5 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
ba4e1c678031c050c1d24cf8eba89d57a1763881baa30cd6b0e0163098c334c2
BLAKE2b-256 checksum
How to use checksums
64d56082de16e37ab5635425a951f8b70c1422a5778fe21434cd7cbd31d77ce7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / justapi-2.0.10-cp311-abi3-macosx_11_0_arm64.whl

Download URL justapi-2.0.10-cp311-abi3-macosx_11_0_arm64.whl
Size 10.5 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8e98cb530d45d8cf3c77edb7f5452890e6d4f5ba5304708330ebe24b53d31868
BLAKE2b-256 checksum
How to use checksums
ea3abed91fa16e24bf9ce578b51c8739ddf162af73dc16fc2d6faf74b37af4a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / justapi-2.0.10-cp311-abi3-macosx_10_12_x86_64.whl

Download URL justapi-2.0.10-cp311-abi3-macosx_10_12_x86_64.whl
Size 18.2 MB
Tags CPython 3.11 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d2b2938616f5ddf68943416129bcbf9384fb59773f9848810bd73ac7ec759fa0
BLAKE2b-256 checksum
How to use checksums
338312fe7fb380be8f150a3f98631c9a6ad4cf479852d6177467e2e9b358a649
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

2.0.10 This release

8 release files

2.0.9

8 release files

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