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.8.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 Distribution

ignyx-2.8.0.tar.gz (2.8 MB view details)

Uploaded Source

Built Distributions

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

ignyx-2.8.0-cp313-cp313-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.13Windows x86-64

ignyx-2.8.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ignyx-2.8.0-cp313-cp313-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

ignyx-2.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

ignyx-2.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

ignyx-2.8.0-cp313-cp313-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ignyx-2.8.0-cp313-cp313-macosx_10_12_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

ignyx-2.8.0-cp312-cp312-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12Windows x86-64

ignyx-2.8.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ignyx-2.8.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

ignyx-2.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

ignyx-2.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

ignyx-2.8.0-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ignyx-2.8.0-cp312-cp312-macosx_10_12_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

File details

Details for the file ignyx-2.8.0.tar.gz.

File metadata

  • Download URL: ignyx-2.8.0.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ignyx-2.8.0.tar.gz
Algorithm Hash digest
SHA256 a9585ff41836b85280eb0e997f198f12099fe3a722bc7c8cdb738a5b49a21b35
MD5 4bd07f10f32e21745d5d8a51c877ec30
BLAKE2b-256 92b2a59f6e142ff600280386bb84388cb494f556deedf1cf46c523914cef60e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.0.tar.gz:

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.8.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ignyx-2.8.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.4 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.8.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1107bf6ed3fc945c0ac1a6df9c83aff0e16e0deb061ef604ae98096a1a3c67ed
MD5 3f187f919f54a2c4571a6622bd676f40
BLAKE2b-256 66be5a0f1d711d73cbcfd08e8dab4ee81917082c61b6d139c230b1f257585f67

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.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.8.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ignyx-2.8.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6d3cbc327db25c5f62ab71c67ce0a80490c5b796b74ade07d7b5b6131d61d4ca
MD5 22c119daaef510038e47dcb8756bfcf7
BLAKE2b-256 6754d658f73ee9f85faa8cc4ef2040397ec73cb8ec687e8df362bfc7066cde98

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.0-cp313-cp313-musllinux_1_2_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.8.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ignyx-2.8.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 14b6461dd38bf834a22d14eda3b4123fc37819aaa2548ad2b26597b5414ea78b
MD5 f2712bda320d08688eff6108ca0fc343
BLAKE2b-256 a8fe027806d5b5d4c0dfdfcffd743093aadd67565a3f17ca16eba2954109efb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.0-cp313-cp313-musllinux_1_2_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.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ignyx-2.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c170f9e3bf06f17a935774f2baa8daa7da1d36b6e54a63afd62c390b17681d9f
MD5 ebf4d00d017162aef93bd78b80b030af
BLAKE2b-256 a1f2d5ef4c4a40cc77d91a3373672f14eaeccf887b958e3cbf532444bad8d12d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_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.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ignyx-2.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5b6bedb9af7a6aa85c0ea828eab9c07eb5dd8a1f1d20868be5cffe7107a46f22
MD5 b832749cc95f364f2b0252e5d387bc01
BLAKE2b-256 fdf004293aef3536a1e719a484b89f63aa43d2eed52c3fa3fef3d9327b012e6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.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.8.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ignyx-2.8.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7c657014e19529fd51a4eae41b4647fdd92b8ff1dc0bf2e4a5d10811f2d78e17
MD5 8c85ed5a609cd1431a2416595e527195
BLAKE2b-256 1dd7ce352edc8232e7cfa8c2a708ca0254e57c424890d18248a609a1cf2e25f2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-2.8.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8d62d17592d9d31fb77ca8979a75cb7e75ede56da264a26bb4a5d00804669380
MD5 eb841c7c01990e8fbb4284544067c369
BLAKE2b-256 1c1e3e617717755821a74ec127f8dbae3431584b2ac923fa2feefbf22f542ee1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.0-cp313-cp313-macosx_10_12_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.8.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ignyx-2.8.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.4 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.8.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4fa06772b8e22dcc3da371d2310d09ac53fd3c5003bfba66ff8f01e89d0af23e
MD5 53e25d7433df83c87ac89a3a79a540a4
BLAKE2b-256 abb91a6526f30def81cb05dbe16662626be617dc8a1494c4f002c15a1c1718bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.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.8.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ignyx-2.8.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 efb059457665bb63601003e9cf95f3122d90e24e8681c5898e16e362b96ef697
MD5 67f77ed087f57363da81e6fadafb71aa
BLAKE2b-256 e538bb06776d66272c0a2a71667a025b8c40befbc6a021cf326c479a5fd84cee

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.0-cp312-cp312-musllinux_1_2_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.8.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ignyx-2.8.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 263e35663f54cd07d4727008533bdf5d8de1e7f0fe0840fcb14a7f84a6906d88
MD5 95804fef62951d7770c5265b39ba4a48
BLAKE2b-256 ed45276105a84e760f3e5956f71d3025022939a2d376f19a997740bc0a6893fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.0-cp312-cp312-musllinux_1_2_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.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ignyx-2.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1cbf4440cd2e8c36ecd730da556bfe288f9d9b1f57f9b706c5cb89fd8ee5ae13
MD5 6bd0c061dfdd84a2af9796d527b07800
BLAKE2b-256 7ff60e2199d32c10ad3bedb314137cf6b05dbec1c6510c49ac942b302f53f77f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_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.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ignyx-2.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ab5fbdea1460f6beafff9b3abc8a5f07effe35ad82addd2d45be980b834274f2
MD5 878c7714748e74019bfaa07aadfe8ce2
BLAKE2b-256 17bfb89ac2e588b93e5d12a2759f6f453405264842c7e6ea162eb85e5bf91377

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.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.8.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ignyx-2.8.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a0d7f3c6b1079f1d4c28a11e6a9266f1084784098bba10aab10954ee0b7d3a0
MD5 57375b710084839e7721eea5b60299e9
BLAKE2b-256 a70b6cd9012f163d1376da6307224e742ae5b596dbfcabef4ca9ed06d3802881

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-2.8.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 55226d08b1e1d24b45d9116cbb4e70ff0a8755789145debe0157e24b012906c6
MD5 5e73b1726a9f3943aaec36ee44e153e5
BLAKE2b-256 6ea22866e9d9af401dc13b93d00ec4cd64ed976706c62355806a2d22aa060259

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.8.0-cp312-cp312-macosx_10_12_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.

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