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

Uploaded CPython 3.13Windows x86-64

ignyx-2.1.3-cp313-cp313-manylinux_2_34_x86_64.whl (919.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

ignyx-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (888.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12Windows x86-64

ignyx-2.1.3-cp312-cp312-manylinux_2_34_x86_64.whl (920.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

ignyx-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (889.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

ignyx-2.1.3-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.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ignyx-2.1.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 897.5 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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2dad2e6bc0cf99527125efb02c2e5e8e012aab20e17855cccc83c62ff9e16343
MD5 c25a167608ceaa6ac5b0c8e7dbe3ec85
BLAKE2b-256 db0e74d1c80d00346998b89532ea7c34575f563ddd94c227a320881cebbdabe1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-2.1.3-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 258be571edb1e5d777a538e319da14994dfb1cb4c6526ce9724be4705bb386a6
MD5 d1f42d3f5b37372f249ca66b781b1d3d
BLAKE2b-256 b2b0cdd52e252575e1b798e0f00e2ae4891a1054ee7192966b9f9d98c31d03ea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3ca375832c5e4b5892d22e500375d7388f7c1c4c094142d56b66f5176eb0f0d2
MD5 d4f0883c5b14cb43cdf9c0e5ef11acb9
BLAKE2b-256 a09581ece9aa0d1198771b5158c7ffaa156a48d30699ff8c8cfd4f4c5995e715

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.1.3-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.3-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.3-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 d140bee03bf49621c395e3261ef4bbecc3d28b904872032273d449c3746402d1
MD5 0d6878a8622a6876f441fdd5d2a5d8a9
BLAKE2b-256 550227c683cd7e375d7a4acbd19ae41d57a420a20d0c5c36e48bbf9cb22bd237

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ignyx-2.1.3-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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a222fca7d0225ecfe134f2d709a84b33a6d790fb4190e481b0b9151acc8740b4
MD5 dcb98a81bb6c735bcd989765bfdb00c6
BLAKE2b-256 57bac270096f06a12b10296c4a2bd85fff63c4aa0697a7080dc69a0d35babcd0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-2.1.3-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 188210c8d11b7c6dba9425a6ddaf6dcde5ce0e302a7a367182bd336e13a73fa7
MD5 49d89be4e63a331d98591ba6344e9bd5
BLAKE2b-256 4e146c56c4fff0a43f5c229902b96e252229736d2ba6b4af6b15509f17aa1371

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 91748114f62388b03fa1d18b09061c611e5da35b1052768eac80031e4ee0da28
MD5 07e96eeaf2339285e54b68986fa04570
BLAKE2b-256 015c812ca9556abea5e9f6c7e4c239dc3a3d720e62f39c29c05910bb2a4f4377

See more details on using hashes here.

Provenance

The following attestation bundles were made for ignyx-2.1.3-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.3-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.3-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 cfbdc6eb4cf9d760f158ba23d1bf077b8fa526aca5683137626fa2ae48c7b7f1
MD5 14a34ee133c1684d17e92f98f687b061
BLAKE2b-256 7752ebad8dd80515546deac1f74f4bea6c5236486249293b488ad07766fd81e9

See more details on using hashes here.

Provenance

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