.. EDRI documentation master file EDRI documentation ================== Event Driven Routing Infrastructure — a Python framework for building event-driven, parallel, and distributed applications. EDRI is an application framework for Python that combines event-driven architecture, multiprocessing, and ASGI networking. It is designed for applications that need to route events between components running in separate processes, optionally distributed across machines. When to use EDRI ---------------- - Event-driven applications with multiple processing stages - Applications that distribute work across processes - Systems requiring real-time communication between components (WebSocket, HTTP) - Projects that need a structured event model with request/response patterns - Distributed event routing across machines via TCP When not to use EDRI -------------------- - Simple CRUD APIs — use FastAPI, Flask, or Django REST Framework - Pub/Sub at scale — use Kafka, RabbitMQ, or Redis Streams - Synchronous request-response only — a lightweight ASGI framework is sufficient - Embedded or resource-constrained environments — EDRI's process model is designed for server-class deployments Quick facts ----------- .. list-table:: :header-rows: 1 * - Property - Detail * - Language - Python 3.12+ * - Networking - ASGI (uvicorn, hypercorn, daphne) * - Distribution - TCP Switch with pickle protocol * - IPC - multiprocessing Queues, SharedMemoryPipe * - Event model - Dataclass-based events with type-safe request/response * - License - MIT .. toctree:: :maxdepth: 1 :caption: Getting Started getting_started architecture .. toctree:: :maxdepth: 1 :caption: Core event response directives router manager async_manager worker specialized_managers shared_memory_pipe .. toctree:: :maxdepth: 1 :caption: API api broker api_event api_download api_content_negotiation headerkit html static_files websocket grpc validation coercion middleware uploads json_encoder .. toctree:: :maxdepth: 1 :caption: Distribution connector switch .. toctree:: :maxdepth: 1 :caption: Integrations integrations/index integrations/sqlalchemy integrations/pydantic_ai integrations/custom .. toctree:: :maxdepth: 1 :caption: Operations env health performance deployment testing troubleshooting watcher utility .. toctree:: :maxdepth: 1 :caption: Project Changelog versioned_documentation edri_class public_api contributing .. toctree:: :maxdepth: 1 :caption: Examples examples/README examples/rest/crud examples/html/form_post_redirect examples/worker/cpu_bound examples/worker/shared_memory_pipe examples/worker/stream_upload_minio examples/worker/scatter_gather examples/scheduler/periodic_refresh examples/pydantic_ai/support_agent examples/websocket/upload examples/middleware/auth examples/middleware/deferred_auth examples/middleware/server_timing .. toctree:: :maxdepth: 1 :caption: API Reference api/edri