Skip to content
Projects

RUSTxPY/BustAPI has 44 GitHub stars and 2 forks. GitHot measured 0 stars in 24 hours, 0 in 7 days, and +3 in 15 days. Last checked 2026-11-09 06:44 UTC. Last push 2026-09-21.

How these counts are measured

BustAPI is a High-Performance Python Web Framework.

What you can do

  • ๐Ÿš€ 20,000+ RPS out of the box โ€” 5x faster than Flask
  • ๐Ÿฆ€ Rust-powered โ€” Zero-copy JSON, mimalloc allocator, Actix-Web
  • ๐Ÿ Pure Python API โ€” No Rust knowledge required
  • ๐Ÿ”’ Security built-in โ€” JWT, sessions, CSRF, rate limiting

Measured star growth

in 24h
0
in 7 days
0
in 15 days
+3
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

BustAPI โ€” High-Performance Python Web Framework

BustAPI - Fast Python Web Framework powered by Rust and Actix-Web

The fastest Python web framework for building REST APIs
Flask-like syntax โ€ข Rust-powered performance โ€ข Up to 20,000+ requests/sec

BustAPI on PyPI CI Status Python 3.10 3.11 3.12 3.13 3.14 MIT License


โšก What is BustAPI?

BustAPI is a production-ready Python web framework that combines the best of both worlds: Python's simplicity and Rust's raw performance.

Under the hood, BustAPI runs on Actix-Web โ€” consistently ranked among the fastest web frameworks across all programming languages. But you never touch Rust. You write clean, familiar Python code with Flask-style decorators.

Why BustAPI?

Problem BustAPI Solution
Python web frameworks are slow Rust core handles HTTP, JSON, routing
ASGI/WSGI adds overhead Built-in server, no middleware layers
Scaling requires complex setup Native multiprocessing with SO_REUSEPORT
Auth is always a pain JWT, sessions, Argon2 hashing built-in

Key Highlights

  • ๐Ÿš€ 20,000+ RPS out of the box โ€” 5x faster than Flask
  • ๐Ÿฆ€ Rust-powered โ€” Zero-copy JSON, mimalloc allocator, Actix-Web
  • ๐Ÿ Pure Python API โ€” No Rust knowledge required
  • ๐Ÿ”’ Security built-in โ€” JWT, sessions, CSRF, rate limiting
  • ๐Ÿ›ก๏ธ Robust Header System โ€” Case-insensitive, multi-value support, high-performance cookie parsing
  • ๐Ÿ“ฆ Zero config โ€” pip install bustapi and you're ready
  • ๐Ÿ”ฅ Hot reload โ€” Rust-native file watcher for instant restarts
from bustapi import BustAPI

app = BustAPI()

@app.route("/")
def hello():
    return {"message": "Hello, world!"}

if __name__ == "__main__":
    app.run()

No ASGI servers needed. No complex configuration. Just run your file.


๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     Your Python Code                        โ”‚
โ”‚              (Flask-like decorators & handlers)             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                    PyO3 Bindings (v0.27)                    โ”‚
โ”‚              (Zero-cost Python โ†” Rust bridge)               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                  Rust Core (bustapi_core)                   โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ Actix-Web   โ”‚ โ”‚ serde_json  โ”‚ โ”‚ mimalloc allocator      โ”‚โ”‚
โ”‚  โ”‚ HTTP Server โ”‚ โ”‚ Zero-copy   โ”‚ โ”‚ Optimized memory        โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Component Technology Purpose
HTTP Server Actix-Web 4.x Ultra-fast async HTTP handling
Serialization serde_json Zero-copy JSON encoding
Memory mimalloc High-performance allocator
Bindings PyO3 0.27 Python 3.10โ€“3.14 support
Async Runtime Tokio Non-blocking I/O

๐Ÿ“ฆ Installation

pip install bustapi

Supports: Python 3.10 โ€“ 3.14 | Linux, macOS, Windows | x86_64 & ARM64

Pre-built wheels available โ€” no Rust toolchain required!


โœจ Features

๐Ÿ›ฃ๏ธ Routing

  • Dynamic Routes โ€” /users/<int:id> with automatic type validation
  • Blueprints โ€” Modular app organization (Flask-style)
  • Turbo Routes โ€” Zero-overhead handlers for maximum speed
  • Wildcard Paths โ€” <path:filepath> for catch-all routes

๐Ÿ” Authentication & Security

  • JWT โ€” Create/validate tokens (HS256, HS384, HS512)
  • Sessions โ€” Flask-Login compatible user management
  • Password Hashing โ€” Argon2id (OWASP recommended)
  • CSRF Protection โ€” Built-in token validation
  • Rate Limiting โ€” Rust-powered request throttling

๐ŸŒ HTTP Features

  • WebSocket โ€” Full duplex communication + Turbo mode
  • Streaming โ€” HTTP Range requests, video seeking
  • File Uploads โ€” Multipart form handling
  • Static Files โ€” Efficient serving with caching

๐Ÿ› ๏ธ Developer Experience

  • Hot Reload โ€” Rust-native file watcher (instant restarts)
  • Templates โ€” Built-in Jinja2 via MiniJinja
  • CLI Tool โ€” bustapi new, bustapi run, bustapi routes
  • Auto-docs โ€” OpenAPI/Swagger generation
  • Testing โ€” Built-in TestClient for unit tests

๐Ÿ”Œ Compatibility

  • ASGI/WSGI โ€” Works with Uvicorn, Gunicorn, Hypercorn
  • FastAPI-style โ€” Query(), Path(), Body(), Depends()
  • Flask-style โ€” request, session, g, current_app

๐Ÿš€ Quick Start

1. Create app.py:

from bustapi import BustAPI, jsonify

app = BustAPI()

@app.route("/")
def home():
    return {"status": "running", "framework": "BustAPI"}

@app.route("/users/<int:user_id>")
def get_user(user_id):
    return jsonify({"id": user_id, "name": "Alice"})

@app.route("/greet", methods=["POST"])
def greet():
    from bustapi import request
    data = request.json
    return {"message": f"Hello, {data.get('name', 'World')}!"}

if __name__ == "__main__":
    app.run(debug=True)  # Hot reload enabled

2. Run it:

python app.py

3. Visit http://127.0.0.1:5000


โšก Turbo Routes

For maximum performance, use @app.turbo_route(). Path parameters are parsed entirely in Rust:

# Zero-overhead static route
@app.turbo_route("/health")
def health():
    return {"status": "ok"}

# Dynamic route with typed params (parsed in Rust)
@app.turbo_route("/users/<int:id>")
def get_user(id: int):
    return {"id": id, "name": f"User {id}"}

# Cached response (140k+ RPS!)
@app.turbo_route("/config", cache_ttl=60)
def get_config():
    return {"version": "1.0", "env": "production"}

Supported types: int, float, str, path

โš ๏ธ Note: Turbo routes skip middleware, sessions, and request context for speed. Use @app.route() when you need those features.


๐Ÿ“Š Benchmarks

Standard Routes (@app.route())

Platform RPS Mode
Linux ~25,000 Single-process
macOS ~20,000 Single-process
Windows ~17,000 Single-process

Turbo Routes (@app.turbo_route()) โ€” Linux

Configuration RPS
Static route ~30,000 (single)
Multiprocessing (4 workers) ~105,000
Cached (60s TTL) ~140,000

Framework Comparison (Turbo + Multiprocessing)

BustAPI vs Other Frameworks


๐ŸŒ Platform Support

๐Ÿง Linux (Recommended for Production)

Linux delivers the best performance with native multiprocessing:

  • ~25k RPS standard routes, 100k+ RPS with Turbo + multiprocessing
  • Kernel-level load balancing via SO_REUSEPORT
  • Automatic worker scaling to CPU cores
python app.py  # Automatically uses multiprocessing

๐ŸŽ macOS (Development)

Fully supported for development. Single-process mode (~35k RPS):

pip install bustapi && python app.py

๐ŸชŸ Windows (Development)

Fully supported for development. Single-process mode (~17k RPS):

pip install bustapi && python app.py

๐Ÿ’ก Tip: For production, deploy on Linux servers to unlock multiprocessing performance.


๐Ÿ” Authentication

JWT Tokens

from bustapi import BustAPI
from bustapi.jwt import JWT

app = BustAPI()
jwt = JWT(app, secret_key="your-secret-key")

@app.route("/login", methods=["POST"])
def login():
    # Validate credentials...
    token = jwt.create_access_token(identity=user_id)
    return {"access_token": token}

@app.route("/protected")
@jwt.jwt_required()
def protected():
    return {"user": jwt.get_jwt_identity()}

Session Login

from bustapi.auth import LoginManager, login_user, current_user, login_required

login_manager = LoginManager(app)

@login_manager.user_loader
def load_user(user_id):
    return User.get(user_id)

@app.route("/login", methods=["POST"])
def login():
    user = authenticate(request.form)
    login_user(user)
    return redirect("/dashboard")

@app.route("/dashboard")
@login_required
def dashboard():
    return f"Welcome, {current_user.name}!"

Password Hashing

from bustapi.auth import hash_password, verify_password

# Hash (Argon2id)
hashed = hash_password("mysecretpassword")

# Verify
if verify_password("mysecretpassword", hashed):
    print("Password correct!")

๐ŸŒ WebSocket

@app.websocket("/ws")
async def websocket_handler(ws):
    await ws.accept()
    while True:
        message = await ws.receive_text()
        await ws.send_text(f"Echo: {message}")

Turbo WebSocket (Pure Rust, ~74% faster):

@app.turbo_websocket("/ws/turbo")
def turbo_handler(message: str) -> str:
    return f"Echo: {message}"  # Processed entirely in Rust

๐Ÿงช Testing

from bustapi.testing import TestClient

def test_homepage():
    client = TestClient(app)
    response = client.get("/")
    assert response.status_code == 200
    assert response.json() == {"status": "running"}

def test_create_user():
    response = client.post("/users", json={"name": "Alice"})
    assert response.status_code == 201

๐Ÿ“ Project Structure

bustapi/
โ”œโ”€โ”€ src/                    # Rust core
โ”‚   โ”œโ”€โ”€ lib.rs              # PyO3 module entry
โ”‚   โ”œโ”€โ”€ bindings/           # Python โ†” Rust bridge
โ”‚   โ”œโ”€โ”€ router/             # URL matching engine
โ”‚   โ”œโ”€โ”€ server/             # Actix-Web handlers
โ”‚   โ”œโ”€โ”€ websocket/          # WS session management
โ”‚   โ”œโ”€โ”€ jwt.rs              # Token encoding/decoding
โ”‚   โ””โ”€โ”€ crypto.rs           # Argon2, CSRF, tokens
โ”‚
โ”œโ”€โ”€ python/bustapi/         # Python package
โ”‚   โ”œโ”€โ”€ app.py              # BustAPI main class
โ”‚   โ”œโ”€โ”€ auth/               # JWT, sessions, CSRF
โ”‚   โ”œโ”€โ”€ routing/            # Blueprints, decorators
โ”‚   โ”œโ”€โ”€ params.py           # Query/Path/Body validators
โ”‚   โ””โ”€โ”€ websocket.py        # WebSocket API
โ”‚
โ”œโ”€โ”€ examples/               # 30+ usage examples
โ”œโ”€โ”€ tests/                  # Comprehensive test suite
โ”œโ”€โ”€ docs/                   # MkDocs documentation
โ””โ”€โ”€ benchmarks/             # Performance tools

๐Ÿ› ๏ธ CLI Tool

# Create new project
bustapi new myproject

# Run with hot reload
bustapi run

# List all routes
bustapi routes

# Show system info
bustapi info

๐Ÿšข Deployment

Built-in Server (Recommended)

python app.py

Uses the internal Rust HTTP server. Best performance, zero dependencies.

With ASGI (Uvicorn)

pip install uvicorn
uvicorn app:app.asgi_app --host 0.0.0.0 --port 8000

With Docker

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["python", "app.py"]

๐Ÿ“– Documentation

๐Ÿ“š Full Documentation


๐Ÿค Contributing

We welcome contributions! Here's how:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing)
  5. Open a Pull Request

Found a bug? Have a feature request?


๐Ÿ’ฐ Support

If BustAPI helps your project, consider supporting its development:

Binance ID: 1010167458


๐ŸŒ  Star History


๐Ÿ“„ License

MIT ยฉ 2025-2026 GrandpaEJ


Built with ๐Ÿฆ€ Rust + ๐Ÿ Python
Fast. Simple. Production-ready.

Explore related projects