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.1.3

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.1.4-cp313-cp313-win_amd64.whl (897.3 kB view details)

Uploaded CPython 3.13Windows x86-64

ignyx-2.1.4-cp313-cp313-manylinux_2_34_x86_64.whl (920.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

ignyx-2.1.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (888.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

ignyx-2.1.4-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.1.4-cp312-cp312-win_amd64.whl (898.2 kB view details)

Uploaded CPython 3.12Windows x86-64

ignyx-2.1.4-cp312-cp312-manylinux_2_34_x86_64.whl (921.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

ignyx-2.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (889.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

ignyx-2.1.4-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.1.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ignyx-2.1.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 897.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.1.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e88131ae1fb5d39817dcd49da314a218102b4b600ddb518c313682a2662dd051
MD5 3d6a9e1e834098df1ed5f8dd8e70b714
BLAKE2b-256 ef6a12b513e0c69d7f100d90db6b4cd8fe7a15fdc321f0541c8c4534d399f4f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.1.4-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.1.4-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ignyx-2.1.4-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8232d785439fec654ddce33f35b8cdfd73d055f75ef422fac12616fb9792d849
MD5 97441f637586834a9f3dc001b8ce5f86
BLAKE2b-256 0473579e9b448ec5ba4ea6ec3ac3da254fcdb95b3b187b809d7827af40f9aae1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.1.4-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.1.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ignyx-2.1.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a05f75d6ce80bf10faca2245578d0ee00cc888be7337d3b452e2781f750b1237
MD5 ed03f786cf16e4d6759311b5faedb851
BLAKE2b-256 f4c0e176be99c00b8295aacff27682b786dc959bf8434bacb80744396418d43f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.1.4-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.1.4-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for ignyx-2.1.4-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 dd6f18a4c9d4fbbac97866a2f0cee2c37a2c853c22912f811bbffb5619049c1c
MD5 f48d2c5d2ebdef11ab621468c3d80c1b
BLAKE2b-256 e9c30c8ac516b395eda918dcba20663ab39b073cb20c3e77b25268e96ebdaeb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.1.4-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.1.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ignyx-2.1.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 898.2 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.1.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 add476686217d5665f40360f6656099855276b6e0b5cf3ce5f8a23370e686bbc
MD5 04e0dcdd4e0d017378d5e28e39198f90
BLAKE2b-256 77f67c61c796829c349dcec8009c4ef5d809d79aa8096214a405f4325b314b4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.1.4-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.1.4-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ignyx-2.1.4-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1d37055538ee5ac0dea6345e9113ade9bf3412bf678a5ded0a8cc094f4b4fb65
MD5 5a9d9d984b02004831392250102ecadb
BLAKE2b-256 af3893170e51aefdb82950eb8c45b88a16d44fb74318eca096aed1bdcfc57c54

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.1.4-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.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ignyx-2.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b583f92e240bfd93423cda743a68bbae87754c6cec467021066d4330ce2fafd9
MD5 94570afe347e608939e6ec2844971abf
BLAKE2b-256 71f845341b61be2011ec9aab467ae4933c23973f87c978ccd562c1d378013da7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.1.4-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.1.4-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for ignyx-2.1.4-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 cfe13d8721f8130149fd1376818d22223b5a98b503436415734ddc5f77759d92
MD5 f070cb5ee413b4092a95c43054db43eb
BLAKE2b-256 711a3dd32fbef570a085db5747b8e4f91a613027097ec0d1af65ba4f0d1eab72

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.1.4-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