Skip to main content

zespan-fastapi

Automatic LLM observability middleware for FastAPI. Traces every request, LLM call, and custom span with zero code changes for basic usage.

Installation

pip install zespan-fastapi

Quick Start

from fastapi import FastAPI
from zespan_fastapi import ZespanFastAPIMiddleware, ZespanConfig

app = FastAPI()

config = ZespanConfig(api_key="zsp_your_api_key")
app.add_middleware(ZespanFastAPIMiddleware, config=config)

Every HTTP request is now automatically traced.

Trace LLM Calls

from zespan_fastapi import observe_llm

@observe_llm(model="gpt-4o", provider="openai")
async def generate_response(prompt: str):
    response = await openai.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": prompt}]
    )
    return response

Trace Custom Spans

from zespan_fastapi import observe_span

@observe_span("fetch_context", span_type="retrieval")
async def fetch_context(query: str):
    return await vector_db.search(query)

Set Custom Attributes

from zespan_fastapi import set_attribute

@app.post("/chat")
async def chat(request: ChatRequest):
    set_attribute("user.id", request.user_id)
    set_attribute("model", request.model)

Configuration

Option Default Description
api_key required Zespan API key (zsp_...)
base_url https://api.zespan.com API endpoint
enabled True Toggle tracing on/off
sample_rate 1.0 Fraction of requests to trace (0.0–1.0)
capture_request_body False Include request body in traces
capture_response_body False Include response body in traces
redact_fields ["password","token","api_key"] Fields redacted automatically
debug False Print flush errors to stdout

Get your API key at zespan.com.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zespan_fastapi-1.2.2.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zespan_fastapi-1.2.2-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file zespan_fastapi-1.2.2.tar.gz.

File metadata

  • Download URL: zespan_fastapi-1.2.2.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":null,"cpu":"AMD64","implementation":{"name":"CPython","version":"3.14.2"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.0.18 30 Sep 2025","python":"3.14.2","system":{"name":"Windows","release":"11"}} HTTPX2/2.4.0

File hashes

Hashes for zespan_fastapi-1.2.2.tar.gz
Algorithm Hash digest
SHA256 b81eea49bc301aaeb330ad9bfbc8d5783c448e17fef38229e4688abcba55964d
MD5 755afadf45bc2bcab7f5a0e667098047
BLAKE2b-256 de84393fd37b8a9f0fe0d1614f5237ec606d634a73f3571fb1b728739c6c0c22

See more details on using hashes here.

File details

Details for the file zespan_fastapi-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: zespan_fastapi-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":null,"cpu":"AMD64","implementation":{"name":"CPython","version":"3.14.2"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.0.18 30 Sep 2025","python":"3.14.2","system":{"name":"Windows","release":"11"}} HTTPX2/2.4.0

File hashes

Hashes for zespan_fastapi-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 62138b78b99fc6048b4d5c0e9be3f64b5418f1a1589dc299cb9cc2502ed67e24
MD5 7bb32cc20f98e7f6b6f9d34a1a8f343f
BLAKE2b-256 b78cc521ad4cee3c396dba55ed9c7be3142707aa60b8092a05d2838f8e5ce559

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page