Skip to main content

Rust-powered Python web framework — 10x faster than FastAPI

Project description

Ignyx Logo
Ignite your API. Built in Rust, runs in Python.

PyPI version Downloads CI status Coverage Python versions Docs

Ignyx

📖 Full Documentation

Ignyx is a next-generation Python web framework engineered for maximum throughput, utilizing a Rust-powered HTTP core built on Hyper and Tokio. It provides a familiar, FastAPI-like decorator syntax, allowing developers to build high-performance APIs with zero learning curve. In honest benchmarks, Ignyx operates 8-9x faster than standard Python async frameworks.

Features

  • Blazing Fast: 8-9x faster than FastAPI in standard benchmarks.
  • Zero Overhead: Owns the full HTTP pipeline — no ASGI overhead.
  • Hot Reload: Blazing fast development with built-in file watcher.
  • Pydantic v2: Deep integration for request body validation.
  • Advanced OpenAPI: Auto-generates schemas with Pydantic model support.
  • Dependency Injection: Familiar Depends() pattern for clean logic.
  • WebSockets: Native, high-concurrency WebSocket support.
  • Modular: Organize APIs with Router prefixes.
  • Typed: Shipped with py.typed for perfect IDE autocompletion.

Benchmark

Apple M2, wrk -t4 -c100 -d10s

Endpoint Ignyx FastAPI Speedup
/plaintext 51,771 req/s 5,846 req/s 🔥 8.8x
/json 37,138 req/s 4,844 req/s 🔥 7.6x
/users/{id} 43,261 req/s 5,306 req/s 🔥 8.1x

Note: Ignyx tested with native Rust core. FastAPI tested with Uvicorn single worker — standard config.

Installation

pip install ignyx==2.2.2

Or with uv:

uv add ignyx

Quickstart

from ignyx import Ignyx

app = Ignyx()

@app.get("/")
async def root(request):
    return {"message": "Hello from Ignyx!"}

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000, reload=True)

Feature Examples

Pydantic Validation
from ignyx import Ignyx
from pydantic import BaseModel

app = Ignyx()

class User(BaseModel):
    name: str
    age: int

@app.post("/users")
async def create_user(user: User):
    return {"status": "success", "data": user.model_dump()}
Path + Query Parameters
from ignyx import Ignyx

app = Ignyx()

@app.get("/users/{id}")
async def get_user(id: int, format: str = "json"):
    return {"id": id, "format": format}
Dependency Injection
from ignyx import Ignyx, Depends

app = Ignyx()

def get_db():
    db = Database()
    try:
        yield db
    finally:
        db.close()

@app.get("/users")
async def get_users(db = Depends(get_db)):
    return db.query("SELECT * FROM users")
WebSockets
from ignyx import Ignyx

app = Ignyx()

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

Comparison vs FastAPI

Feature Ignyx FastAPI
Pydantic v2 validation
Async/Await
Dependency Injection
WebSockets
Modular Routers
Performance (req/s) ~50k ~6k
ASGI overhead ❌ None ✅ Yes
Hot Reload
Native Rust Core

⭐ Star History

Star History Chart

Contributing

We welcome contributions! Please see our Contributing Guide for details on how to set up your development environment.

Deployment Note

Ignyx manages its own Tokio runtime. No Uvicorn or Gunicorn needed. Just python app.py.

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

ignyx-2.2.2-cp313-cp313-win_amd64.whl (918.3 kB view details)

Uploaded CPython 3.13Windows x86-64

ignyx-2.2.2-cp313-cp313-manylinux_2_34_x86_64.whl (939.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

ignyx-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (907.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

ignyx-2.2.2-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

ignyx-2.2.2-cp312-cp312-win_amd64.whl (918.7 kB view details)

Uploaded CPython 3.12Windows x86-64

ignyx-2.2.2-cp312-cp312-manylinux_2_34_x86_64.whl (940.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

ignyx-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (907.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

ignyx-2.2.2-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file ignyx-2.2.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ignyx-2.2.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 918.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ignyx-2.2.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b4b40ec017acc503df3a975c74008574cd33e5afad7b14977dc2ff722f2c12b9
MD5 64e5bcdf7eab1b88297418fc07b31801
BLAKE2b-256 6957457fef3d576523a59f3722c294032420f15b610b5c449699f14034e03e74

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.2.2-cp313-cp313-win_amd64.whl:

Publisher: release.yml on sakethdevx/ignyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ignyx-2.2.2-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ignyx-2.2.2-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7c28edba75aef6a0f5f0559fb8dd66007b82677676e7b815428febaa3999e505
MD5 ea7b93f97732e46eeb5254b281c86eae
BLAKE2b-256 a79f401033e9d761c30e1c2ddcca9d8973f0a85f4bed45359c1e0748eaa58d76

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.2.2-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: release.yml on sakethdevx/ignyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ignyx-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ignyx-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 454bb5e3970da8b23b4d2f8cdfa6e38e47359b3d2b3412e535dc539d555b1fb2
MD5 01e7f700e19de44e4fd0f7de0c7cb23d
BLAKE2b-256 6f50e9b9539bbea2ce09dea8c26318b70ee8b91b908acd867629bf6ef3f89f15

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on sakethdevx/ignyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ignyx-2.2.2-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for ignyx-2.2.2-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 473fa46d5c8b38eee3c32b4200dc48f35ba939e0335cbeec355b56a786f5b4bc
MD5 22867527a21d64ba2ec5c45dc8f9331f
BLAKE2b-256 40046bc467ce2dd4107b1996b009be440e4e859675a12a146e34c290b4b22c70

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.2.2-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on sakethdevx/ignyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ignyx-2.2.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ignyx-2.2.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 918.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ignyx-2.2.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8bf9ed25f37fa42701e07636b4cf1ace83abafc15d8ee218e1d52820ebfffa98
MD5 c072694b60b403b8b0f5f7f21932d5f9
BLAKE2b-256 7069eb4544e1ca4eec8a2318f926c5370b8a6f611a298f1694efdb51638b2e6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.2.2-cp312-cp312-win_amd64.whl:

Publisher: release.yml on sakethdevx/ignyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ignyx-2.2.2-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ignyx-2.2.2-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 06f8342ba7cab3083701ffc787f9fef6bc79034ea801e7ae08298279f7854734
MD5 50ecbedc915003af73e9c5136687848a
BLAKE2b-256 bd30c6d73a5b247ea6dbe7c8783b9ce76d1f2c69456a108d3a1f140f90de0058

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.2.2-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: release.yml on sakethdevx/ignyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ignyx-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ignyx-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f77e7272a107bff5da2e98f48bb02bb23075dce6bf05934cb11d72bbf23e0129
MD5 b88237d0b3e31c7fc03b2bcad95570ff
BLAKE2b-256 9803a14ccbc118200fbb3fd3c67696062544524e1b99636b2e9268bdd330f03b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on sakethdevx/ignyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ignyx-2.2.2-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for ignyx-2.2.2-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 476bdea76247e8b7511b0d7e0442aff5ba6b0bfad019c77fe31359a42891ab2c
MD5 2fcec04aa9022a9b3c0462edf8a4da56
BLAKE2b-256 506c16ae5a90f9f5b6f828a31d31a8f9f10a7c786731c857be1311967bdea043

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.2.2-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on sakethdevx/ignyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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