Skip to main content

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)

Source distribution for tellann 0.1.0
File Size Uploaded
tellann-0.1.0.tar.gz 13.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tellann 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

0.2.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page