inngest
Python SDK for Inngest
Decision gist · record as of 2026-08-14
Yes, if you need event-driven background jobs in Python and want to avoid infrastructure overhead. Low install friction, active maintenance, and support for Python 3.10 through 3.13 make it accessible. However, verify the license terms before committing to production use, since the license status is currently unclear. No known security vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Production use requires INNGEST_EVENT_KEY and INNGEST_SIGNING_KEY environment variables set for Inngest Cloud.
- Low install friction with a pure-Python wheel.
License · maintenance · safety
(unclear) — License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before using in proprietary or restricted contexts.
last release 2026-06-23 (52 days) · last repo commit 2026-08-07 · 213 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,293,586 downloads/mo, #4,097 on PyPI
Alternatives
Verify before relying
pip install inngest
import inngest
from pydantic import BaseModel
inngest_client = inngest.Inngest(app_id="my_app", is_production=False)
@inngest_client.create_function(
fn_id="my_job",
trigger=inngest.TriggerEvent(event="app/event"),
)
def my_function(ctx: inngest.ContextSync) -> dict:
return {"result": "done"}- Whether the unclear license permits commercial or closed-source use without restriction.
- Performance characteristics and throughput limits under production load.
- Exact retry semantics and failure handling guarantees for step functions.
- Framework-specific integration requirements beyond the core SDK.
What it is and what it does
Inngest is a Python SDK that integrates durable, event-driven background job execution into web frameworks without requiring you to set up separate queueing systems. It lets you define functions that respond to events, with built-in support for multi-step workflows where each step can retry independently on failure. Functions can be synchronous or asynchronous, and state is managed automatically by the SDK.
You trigger jobs by sending events to Inngest, either from within your application or externally. During development, a local Dev Server handles execution; in production, Inngest Cloud manages the queue and scheduling. The SDK handles the plumbing of event routing, step retries, and function state, so you write business logic as plain Python functions decorated with Inngest metadata.
Use it for
- Run background tasks triggered by application events without setting up separate infrastructure.
- Build multi-step workflows where each step retries independently and state persists across failures.
- Schedule recurring jobs or delayed execution using event-driven triggers.
- Process async work without blocking HTTP responses in web applications.
- Coordinate complex business logic across multiple services using event-driven architecture.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need event-driven background jobs in Python and want to avoid infrastructure overhead.
Low install friction, active maintenance, and support for Python 3.10 through 3.13 make it accessible. However, verify the license terms before committing to production use, since the license status is currently unclear. No known security vulnerabilities.
Install
inngest on PyPI
Before you install
Low install friction with a pure-Python wheel. Active maintenance: last commit 2026-08-07, 52 days since latest release. Supports Python 3.10 through 3.13.
Requires Python 3.10 or later. Production use requires INNGEST_EVENT_KEY and INNGEST_SIGNING_KEY environment variables set for Inngest Cloud.
License in practice
License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before using in proprietary or restricted contexts.
Quickstart
pip install inngest
import inngest
from pydantic import BaseModel
inngest_client = inngest.Inngest(app_id="my_app", is_production=False)
@inngest_client.create_function(
fn_id="my_job",
trigger=inngest.TriggerEvent(event="app/event"),
)
def my_function(ctx: inngest.ContextSync) -> dict:
return {"result": "done"}
Verify before relying
- Whether the unclear license permits commercial or closed-source use without restriction.
- Performance characteristics and throughput limits under production load.
- Exact retry semantics and failure handling guarantees for step functions.
- Framework-specific integration requirements beyond the core SDK.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packageshttpxjcspydantictyping-extensions |
| Maintenance | Actively maintained 52 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,293,586 / month, #4,097 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: DjangoFramework :: FastAPIFramework :: FlaskIntended Audience :: DevelopersProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13 |
Evidence: inngest-0.5.19-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “event-driven workflows”
- inngestInngest adds durable, event-driven background jobs and scheduled…
- llama-index-workflowsAn async-first, event-driven framework for orchestrating multi-step…
- transitionsTransitions is a lightweight state machine library that lets you…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also arq · absurd-sdk · rq-scheduler · dbos · hatchet-sdk · azure-functions-durable · saq · django-dramatiq · Flask-APScheduler · bullmq