Module

context

Request-scoped context via ContextVar.

Provides:

  • request_var: The current Requestfor this task/thread.
  • g: A mutable namespace scoped to the current request.

Both are set by the handler pipeline and reset after each request. They are explicitly opt-in — if no middleware or handler sets them, accessing them raisesLookupError.

Thread safety:

``ContextVar`` is task-local under asyncio and thread-local under
free-threading (3.14t). No locks needed.

Classes

_RequestGlobals 8
A mutable namespace scoped to the current request. Inspired by Flask's ``g``. Stores arbitrary att…

A mutable namespace scoped to the current request.

Inspired by Flask'sg. Stores arbitrary attributes via a per-request dict held in a ContextVar.

Usage::

from chirp.context import g

# In middleware
g.user = current_user

# In handler
name = g.user.name

Methods

get 2 Any
Get an attribute with a default value.
def get(self, name: str, default: Any = None) -> Any
Parameters
Name Type Description
name
default Default:None
Returns
Any
Internal Methods 7
__init__ 0
def __init__(self) -> None
_reset 0
Clear the store for the current context. Called by the handler after each reque…
def _reset(self) -> None

Clear the store for the current context. Called by the handler after each request.

__getattr__ 1 Any
def __getattr__(self, name: str) -> Any
Parameters
Name Type Description
name
Returns
Any
__setattr__ 2
def __setattr__(self, name: str, value: Any) -> None
Parameters
Name Type Description
name
value
__delattr__ 1
def __delattr__(self, name: str) -> None
Parameters
Name Type Description
name
__contains__ 1 bool
def __contains__(self, name: str) -> bool
Parameters
Name Type Description
name
Returns
bool
__repr__ 0 str
def __repr__(self) -> str
Returns
str

Functions

get_request 0 Request
Return the current request. Raises ``LookupError`` if called outside a request…
def get_request() -> Request

Return the current request.

RaisesLookupErrorif called outside a request context.

Returns
Request