Python SDK
Python SDK
Zero external dependencies.
Install
pip install logtrace-pyUsage
from logtrace_py import Client, CreateEventRequest
client = Client(api_key=os.environ["LOGTRACE_API_KEY"])
client.create_event(CreateEventRequest(
name="user.signup",
user_id="user_123",
username="jane.doe",
metadata={"plan": "pro", "referrer": "google"},
))
client.create_session(CreateSessionRequest(...))
client.create_audit_log(CreateAuditLogRequest(...))Async
from logtrace_py import AsyncClient
async with AsyncClient(api_key=os.environ["LOGTRACE_API_KEY"]) as client:
await client.create_event(CreateEventRequest(...))Middleware
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(...)) # asyncError handling
from logtrace_py import LogtraceError
try:
client.create_event(req)
except LogtraceError as e:
print(e.status_code, e)