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.2.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.2.0
File Size Uploaded
tellann-0.2.0.tar.gz 28.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tellann 0.2.0
File Interpreter ABI Platform
tellann-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 57.6 kB

Release files / tellann-0.2.0.tar.gz

Download URL tellann-0.2.0.tar.gz
Size 28.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b8cbf27efcd835975c1e425ca834ea32a171cf311257d51997f555dfead83463
BLAKE2b-256 checksum
How to use checksums
87cc7a5ceeb90613abf7338bc89335a708ca5d4f1338d0c96b812b09faaee342
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 23, 2026.

Transparency log

Release files / tellann-0.2.0-py3-none-any.whl

Download URL tellann-0.2.0-py3-none-any.whl
Size 29.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dfe0b87ed9ef632f002348bfa9508c602532700c7c352f22938a25ec4d7b8399
BLAKE2b-256 checksum
How to use checksums
a135339ad637ab8469732dced8224b195c0b3fda9f74546c5d78f1fb00e6b09f
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 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

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