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

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.3.0-cp313-cp313-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.13Windows x86-64

ignyx-2.3.0-cp313-cp313-manylinux_2_34_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

ignyx-2.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (982.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

ignyx-2.3.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.9 MB view details)

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

ignyx-2.3.0-cp312-cp312-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.12Windows x86-64

ignyx-2.3.0-cp312-cp312-manylinux_2_34_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

ignyx-2.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (982.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

ignyx-2.3.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.9 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.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ignyx-2.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dd62248fc4259afdd254a16fa3bb2b06bf769dded5f10035627ce4aa63c2242b
MD5 55727337277f28ec857b06e3610db81a
BLAKE2b-256 757954bc00764a06bad5d812d96c62c15828a00f346965f58fa943b96b21409e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-2.3.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e1ad2f03d40fee17d71b50e965910f7c3b4f57f2cdde6e7d90627b2f8f4d25da
MD5 3abd624a4c830db4e009565f79f43235
BLAKE2b-256 54d166bd952afcbcc04fe09f41360dcc188d23a791d76937f44d31b7c85c37d5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-2.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d072d1b367285a04084291ded403e7aeee8e83eba62c26815fd7d95d1e25c6a5
MD5 9a6ba0318344862dfa937c876a6eb98f
BLAKE2b-256 945a377c7d8a1e88747428769d44569fe44b4b6ac4aa20bda10569259a6e52fd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-2.3.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 c18a6ce875069630eb53d7c7358e453302b981c5b41dc574926001d0e0e2be94
MD5 8f7bab68c508cefcdab29824715102d0
BLAKE2b-256 7d8f6b458ed19167757a28a001899198cb24e202e87c1260aad1ae51044a87ac

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ignyx-2.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 704748b8750a9e23d361da66a2c5f75659345b6c843735270c4ea7cbca8eff59
MD5 60c4f3499b219d92a1faa467df236906
BLAKE2b-256 41ec674b8db1c4360debf0faabd7dcf5787af1f0b42c4b5e90157a9977332eec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-2.3.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 231d8939d4d103ccae4259c53e72a8a2e4dee61ea88d9cdf8f951d44b2921a44
MD5 7d50b65c646852019773ab68e69bf20a
BLAKE2b-256 8a02f692ed96a6359817d74c6c361603aeab93b6377fe794379d3ee720279e33

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-2.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4ebc765cb26651e29ee82b4f9e5e43e587e67a727f487f5b9c1dbce62e58be44
MD5 71d38612b7e981cf75c77fc64594ba2c
BLAKE2b-256 c9fdfe515e7d336f4b5bb6cf56a6bd6c916ddc1cb0911572af2cdc33b5f76536

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-2.3.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 e3e472b756cc9b7bc15205f60b7b28283450e99af206f18437150f2309c8ec33
MD5 3d1c52a38a8d4eaf75c4a7671ead4463
BLAKE2b-256 6aef8bc8e8c1c48efbd992015760d3cc8c00e5b759ca0d2915f9ee9a2112f95a

See more details on using hashes here.

Provenance

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