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

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-3.0.0.tar.gz (2.9 MB view details)

Uploaded Source

Built Distributions

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

ignyx-3.0.0-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

ignyx-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ignyx-3.0.0-cp313-cp313-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

ignyx-3.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

ignyx-3.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

ignyx-3.0.0-cp313-cp313-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ignyx-3.0.0-cp313-cp313-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

ignyx-3.0.0-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86-64

ignyx-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ignyx-3.0.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

ignyx-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

ignyx-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

ignyx-3.0.0-cp312-cp312-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ignyx-3.0.0-cp312-cp312-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for ignyx-3.0.0.tar.gz
Algorithm Hash digest
SHA256 8bd1c93a221156ff71ad4558f2fa9834ba73d8e6694be3f39d992ce54bb93dc7
MD5 f606ea4f7281042bc000ee879152853d
BLAKE2b-256 86dcc21a26f1c668ed7ac30018ca2f15a9f3f12b74776fbaa5f0df5e5999c03e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ignyx-3.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.5 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-3.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b7a1799ac6400f65d9435d68a8342ce3a71f9cdabd8f323ad44da0a9ec2354f5
MD5 1574151df71e7ebf21c60dd755fb4e45
BLAKE2b-256 bf7d35df7ef69ead2ed3452def866dc29d3aaf7ca11ac24a9a155052c4b564f3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0471cef20fc460f10230851ddc517c4962cd7d0037e7828d4ef70d1b8f1ebaed
MD5 20bfdb77f539984547abbfed69cb3e59
BLAKE2b-256 3229e5b8c6ef48c584c729b497a09a379ec69426fab59737bce44fe7b7e9f04e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-3.0.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b6bc1b9a3efa96915483d79dba2baad5233dff08385a446312ce47aef78d77a8
MD5 56f1e55f41707d5fb4cc7cad4d2f4dcb
BLAKE2b-256 6c9bcafbef863e31b336d33c98faf2686299dae4c5ba2fcd5f9bd86cd023e3bb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-3.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cb8986d5ab0536f15d5b0adf79a060ecb5150f6d6d3c91d73d89a2ed07368398
MD5 f9c0ba5fe5a4e4328381d2d6e53d4afd
BLAKE2b-256 9db19ce3cc12f1cae0733b44dd9fceae6385a70f9b396c3a3ffa8a4cf14a1c39

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-3.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 641793ee2301e46c71d384d73a34bab4abe9e0cebde7fb02b0d4bc506bf9d1b6
MD5 f202a1e2e12273fad21fd2aaf6fafd2e
BLAKE2b-256 3084560dfab1b0c8c76215dded7a33206eabe2a3637a0f360f900a94fd76ecd8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-3.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e04177bed287c505ccd4d1cf801ac2fc59d524b705e66bf1bd3e18e6cdad18ac
MD5 01c7130dc0dfdac470383bb86916dec9
BLAKE2b-256 88f11da642ac2df4ebd5411b8c5a235cec74e842da7c9e8948728ecfc8a02bfa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-3.0.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b1303f82b8a38b6b76fc26a86bfccc4df3ca704fe8d61e3585d8f584d5e6a9a6
MD5 682460c95d8ba8d066fb06a5f1caa49b
BLAKE2b-256 fb0cd1bd14fed6ae5c4ee4e66c24d04d8514c0bc333079dc565d388984975ff6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ignyx-3.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.5 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-3.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 524a4bbc0600237e94c2023788d08cda556e5e6363cfeafff6e2ae51bdf679d9
MD5 7ded060e741aedefab1e34e7f8822514
BLAKE2b-256 2964b51cd9a55b23379945503cbb0957cb62f91929b14a8c778569d5c19fe402

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c4931cbaf2a274a21177f41f887bad6c99cfc99f24f59517f66a475bcff7f958
MD5 c916db7f8c690599da7b93e7e807358b
BLAKE2b-256 5b6245a6ea7aa29621a6d46f21a93c8fba88ea1b88b2a8c3458ca6e6cf383493

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-3.0.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e7964e7428a2345766a327ddf18c7be1eb94a4c9129bc87725ffd54585caba32
MD5 5200e08dbcb3fdc6c5c210259cc3f329
BLAKE2b-256 974ab97bcc13f775710b60b6c2b217f8905fee370bec147ce57e49399c5fed95

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38a6cf1dd1c612cc131fe97ad707eaf0340a3d381ccf0ac196e972bc79c562a6
MD5 9f23cb426fc1599e4c68de513af6f352
BLAKE2b-256 55282b3ed00a33625b3c9b0e7b0bc2d3962ab6ed2b5bb02c9e3bb465b885cbbe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2698f771a3a996e275d1108e3c16eae2ae0d62e7f30fd148575e90010988cf42
MD5 da686fd9021f6b319a75591cb22e9ff4
BLAKE2b-256 de872bf915d17b90b72c540c9c7d40885c90610d0585628bf93d5dd562496c7c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-3.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 022b22a19a6a6e61cb1bfd0266b9426db8ab13aeb5a1b11689cf0ab0f3a38612
MD5 c864d0bac8cc27867dbb1b9ea1b189c7
BLAKE2b-256 678fd3348394fe72e665e13e202f6cca21d0d824ff4ca5051fd99e1d8575a97d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ignyx-3.0.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 90f5f81c898e95ff631cc84b2a808fa06fab7c758be4d113e1e19219162a9a4a
MD5 43b1aadbc0749fbb6f0c56e9b08e08fe
BLAKE2b-256 cb0fd7f52cf5263a0fa6a1427973e3c2410ae48cf60986be92b08972472f7ac7

See more details on using hashes here.

Provenance

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