API Reference
Request
API reference for the Request base class.
from pymediate import Request
class Request[ResponseT]: ...Base class for all requests, carrying the expected response type as its type parameter. Inheriting from Request[ResponseType] is what enables response-type inference at every mediator.send() call site and PyMediate's runtime validation of handlers.
The response type is extracted and registered automatically when the subclass is defined (via __init_subclass__) — at import time, with no per-request overhead.
Type parameters
| Parameter | Description |
|---|---|
ResponseT | The type of response handlers return for this request |
Usage
With dataclasses (recommended):
from dataclasses import dataclass
from pymediate import Request
@dataclass
class UserCreatedResponse:
user_id: int
username: str
@dataclass
class CreateUserRequest(Request[UserCreatedResponse]):
username: str
email: strWith regular classes:
class CreateUserRequest(Request[UserCreatedResponse]):
def __init__(self, name: str, email: str):
self.name = name
self.email = emailAlways parameterize
class MyRequest(Request): without a type argument type-checks but loses response-type
inference entirely — mediator.send() will return Any. See
type safety.
See also
- Handler — the class that processes requests
- Requests and responses guide — message design patterns
- Dataclasses with PyMediate — dataclass-specific patterns