tellann (Python SDK)
Behaviour telemetry for Python services, matching @tellann/backend-sdk event
for event. A Flow that crosses a React page and a Django view reaches the
collector as one sequence.
python -m pip install tellann
Initialize
from tellann import TELLANN
TELLANN.initialize(
endpoint="https://gateway.example.com",
application_id="...",
environment_id="...",
api_key="...",
)
TELLANN.verify_installation()
Every argument falls back to an environment variable — TELLANN_GATEWAY_URL,
TELLANN_INGESTION_KEY, TELLANN_APPLICATION_ID, TELLANN_ENVIRONMENT_ID —
so TELLANN.initialize() with no arguments works wherever those are set. If
the endpoint or application id is missing the SDK disables itself rather than
raising: telemetry that is not configured must not stop an application booting.
Frameworks
Django — add the middleware and initialize from settings.py:
from tellann.integrations.django_middleware import instrument_django
instrument_django()
MIDDLEWARE = [
"tellann.integrations.django_middleware.TellannMiddleware",
# ... your middleware
]
Flask — attach to the application, including inside a factory:
from tellann import instrument_flask
app = Flask(__name__)
instrument_flask(app)
FastAPI / Starlette — attach to the application:
from tellann import instrument_fastapi
app = FastAPI()
instrument_fastapi(app)
Each integration reports the matched route template (/invoices/{pk}),
never the concrete path, so identifiers in URLs stay out of telemetry and the
graph sees one endpoint instead of one per request.
Primitives
TELLANN.track_api("POST", "/invoices/{pk}", 201, duration_ms=12.5)
TELLANN.track_state("AWAITING_PAYMENT", previous_state="DRAFT")
TELLANN.capture_error(error)
TELLANN.track_event("BUSINESS_EVENT", {"plan": "pro"})
with TELLANN.workflow("checkout") as workflow_id:
charge(...) # failure fails the workflow and re-raises
Behaviour under load and failure
Delivery runs on a daemon thread behind a bounded queue. A collector that is down, slow or unreachable costs a dropped event and nothing else — no blocked request, no raised exception, no unbounded memory. Events larger than the collector's 32 KB limit are dropped locally with a warning rather than sent and discarded on the other side.
The package has no runtime dependencies; delivery uses only the standard library, so it never conflicts with the versions an application has pinned.
Development
python -m unittest discover -s tests
Release files for tellann 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tellann-0.1.0.tar.gz | 13.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tellann-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.3 kB
Release files / tellann-0.1.0.tar.gz
| Download URL | tellann-0.1.0.tar.gz |
|---|---|
| Size | 13.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ae1b5d71ac2ec682708048afbcc5be3b7b585e97669abf910b161c7f44bacf3a
|
|
BLAKE2b-256 checksum How to use checksums |
72da90c4cafc39a8dece8caacbcbf093dac8fb66e9b82cff127e7e83cb85c77a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.
Transparency logRelease files / tellann-0.1.0-py3-none-any.whl
| Download URL | tellann-0.1.0-py3-none-any.whl |
|---|---|
| Size | 14.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0b663589c3ef6fdb3f485bfef4a89cc6f1912008ba64629704c9c1a54b2c999c
|
|
BLAKE2b-256 checksum How to use checksums |
745f55db16520c1911d688b53bf51434383b63710e1ef5b6fbd09d47f4c3d290
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.
Transparency log