How dj-bolt/django-bolt works
Django-Bolt is a typed Django API framework whose Rust/Actix server handles HTTP routing and request processing, then bridges requests to Python endpoint handlers. The main workflow runs from a client request through route dispatch, typed argument extraction and validation, the Python handler, and response serialization. It also supports Django middleware and admin mounts, OpenAPI, WebSockets, streaming, and MCP. The README documents these capabilities; sampled source confirms selected runtime and integration links, so unsampled wiring is omitted.
Main entry points: api.py BoltAPI · src/handler.rs Request Handler · server.rs Actix Server · src/handler.rs MCP Protocol Handler
Components 20
API Definition
- BoltAPI
python/django_bolt/api.py - Route Registry
python/django_bolt/router.py - Argument Extraction
python/django_bolt/_kwargs/runtime.py - Serializers
python/django_bolt/serializers/base.py
HTTP Runtime
- Actix Server
src/server.rs - Request Handler
src/handler.rs - Request Validation
crates/bolt-core/src/request_pipeline.rs - Response Encoding
src/response_body.rs - Middleware
python/django_bolt/middleware/middleware.py - Error Handling
python/django_bolt/error_handlers.py
Protocols and Docs
- Django Admin Mount
python/django_bolt/admin/routes.py - OpenAPI Docs
python/django_bolt/openapi/routes.py - WebSockets
crates/bolt-websocket/src/handler.rs - Streaming Responses
crates/bolt-core/src/streaming.rs
MCP Integration
- MCP Registration
python/bolt-mcp/src/bolt_mcp/server.py - MCP Protocol Handler
crates/bolt-mcp/src/handler.rs - MCP Registry
crates/bolt-mcp/src/registry.rs - MCP Python Dispatch
python/bolt-mcp/src/bolt_mcp/_dispatch.py
Other components
- API Client
- MCP Client
Connections 19
- API Client → Actix Server: sends request
- Actix Server → Request Handler: dispatches HTTP
- Request Handler → Request Validation: validates inputs
- Request Validation → Argument Extraction: extracts arguments
- Request Handler → BoltAPI: invokes handler
- BoltAPI → Route Registry: registers routes
- BoltAPI → Serializers: uses serializers
- Request Handler → Response Encoding: encodes response
- Request Handler → Middleware: applies middleware
- Request Handler → Error Handling: formats exceptions
- BoltAPI → Django Admin Mount: mounts admin
- BoltAPI → OpenAPI Docs: registers docs
- Actix Server → WebSockets: dispatches upgrades
- BoltAPI → Streaming Responses: returns streams
- MCP Client → MCP Protocol Handler: sends protocol requests
- BoltAPI → MCP Registration: mounts MCP
- MCP Registration → MCP Registry: compiles registrations
- MCP Protocol Handler → MCP Registry: reads catalog
- MCP Protocol Handler → MCP Python Dispatch: dispatches execution