Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
EDRI
Logo

Getting Started

  • Getting Started
  • Architecture Overview

Core

  • Event
  • Response
  • Directives
  • Router
  • Manager
  • AsyncManagerBase
  • Worker
  • Worker types
  • Worker lifecycle
  • Communication model
  • State and isolation
  • SharedMemoryPipe in Workers
  • Error handling
  • Generic typing
  • When NOT to use a Worker
  • Minimal example
  • Specialized managers
  • SharedMemoryPipe

API

  • API
  • Broker
  • API Event
  • Downloading files
  • Content Negotiation
  • HeaderKit
  • HTML API
  • Static files
  • WebSocket
  • gRPC
  • Validation & Injection
  • Coercion
  • Middleware
  • Uploads
  • JSON encoding

Distribution

  • Connector
  • Switch

Integrations

  • Integrations
  • SQLAlchemy (edri.integrations.sqlalchemy)
  • Pydantic AI (edri.integrations.pydantic_ai)
  • Writing your own integration

Operations

  • Environment Variables
  • Health checking
  • Performance & scaling
  • Deployment
  • Testing
  • Troubleshooting
  • Watcher (Hot Reload)
  • Utility

Project

  • Changelog
  • Versioned documentation
  • EDRI
  • Public API
  • Contributing

Examples

  • Examples
  • REST CRUD with validation
  • HTML form: GET the form, POST it, redirect on success
  • Offloading CPU-bound work to a WorkerProcess
  • SharedMemoryPipe: streaming a ZIP of a folder
  • Streaming an upload straight into MinIO / S3
  • Scatter–gather (fan-out / fan-in) with resolve_callback_worker
  • Periodic refresh into the Key-Value Store
  • Pydantic AI: a support agent with tools that dispatch to a different Manager
  • Asynchronous File Processing with WebSocket Feedback (Ticket Pattern)
  • Middleware: Token authentication end-to-end
  • Middleware: deferred (async) authentication with replace_event + redirect_event
  • Middleware: per-stage latency as a Server-Timing header

API Reference

  • edri package
    • edri.abstract package
      • edri.abstract.manager package
      • edri.abstract.worker package
    • edri.api package
      • edri.api.dataclass package
      • edri.api.extensions package
      • edri.api.grpc package
      • edri.api.handlers package
      • edri.api.headerkit package
    • edri.cli package
    • edri.config package
    • edri.dataclass package
      • edri.dataclass.directive package
    • edri.events package
      • edri.events.api package
        • edri.events.api.client package
        • edri.events.api.group package
        • edri.events.api.manage package
      • edri.events.edri package
        • edri.events.edri.group package
        • edri.events.edri.manager package
        • edri.events.edri.router package
        • edri.events.edri.scheduler package
        • edri.events.edri.store package
    • edri.integrations package
      • edri.integrations.pydantic_ai package
      • edri.integrations.sqlalchemy package
    • edri.protocol package
    • edri.router package
      • edri.router.connector package
    • edri.switch package
    • edri.utility package
      • edri.utility.manager package
Back to top
Copyright © 2024, Marek Olšan
Made with Sphinx and @pradyunsg's Furo