Python client for the Logtrace API. Requires Python ≥ 3.11, no dependencies.
pip install logtrace-pyfrom logtrace_py import Client, CreateEventRequest
client = Client(api_key=os.environ["LOGTRACE_API_KEY"])
client.create_event(CreateEventRequest(
name="user.signup",
http_method="POST",
http_status=201,
client_ip="203.0.113.42",
client_user_agent=request.headers.get("User-Agent", ""),
))
client.create_session(CreateSessionRequest(...))
client.create_audit_log(CreateAuditLogRequest(...))from logtrace_py import AsyncClient
async with AsyncClient(api_key=os.environ["LOGTRACE_API_KEY"]) as client:
await client.create_event(CreateEventRequest(...))Automatically attaches request context (IP, method, endpoint, headers, status code) to every call made inside a handler.
WSGI (Flask)
from logtrace_py import WsgiMiddleware
app.wsgi_app = WsgiMiddleware(app.wsgi_app, client)ASGI (FastAPI / Starlette)
from logtrace_py import AsgiMiddleware
app.add_middleware(AsgiMiddleware, client=client)Django — add to settings.py:
import logtrace_py
LOGTRACE_CLIENT = logtrace_py.Client(api_key=os.environ["LOGTRACE_API_KEY"])
MIDDLEWARE = [
"logtrace_py.middleware.DjangoMiddleware",
...
]Inside any handler:
from logtrace_py import from_context
rc = from_context(client)
rc.create_event(CreateEventRequest(...)) # sync
await rc.async_create_event(CreateEventRequest(...)) # asyncfrom logtrace_py import LogtraceError
try:
client.create_event(req)
except LogtraceError as e:
print(e.status_code, e)