Skip to main content

tracectrl-sdk

TraceCtrl Enterprise SDK — instrument your agentic AI application to send traces to a TraceCtrl Enterprise deployment.

Apache 2.0 licensed. Built directly on OpenTelemetry and OpenInference — self-contained, with no other TraceCtrl runtime dependency. Adds enterprise-specific defaults (collector endpoint, required ingest-key auth, fail-loud behaviour) plus configure(), instrument(), and track() for deterministic, source-declared agent identity.

Install

pip install "tracectrl-sdk[strands]"   # or [agno], [langchain], [crewai], [google-adk], [all]

The framework extras pull the matching OpenInference instrumentor. The base package (pip install tracectrl-sdk, just OpenTelemetry) is enough if you only use configure() + track() without framework auto-instrumentation.

Quickstart

import os
from tracectrl_enterprise import configure, instrument, track

configure(ingest_key=os.environ["TRACECTRL_INGEST_KEY"])  # auth + endpoint
instrument("strands")                                      # framework auto-instrumentation

from strands import Agent
agent = track(Agent(name="PaymentAgent", system_prompt="..."))  # declare identity once

agent("refund order 123")   # every invocation is now a clean AGENT span

Three calls:

  1. configure(ingest_key=...) — initialise the OTLP pipeline against your collector (required ingest key; fails loud if missing).
  2. instrument(framework) — activate OpenInference auto-instrumentation for your framework ("strands", "agno", "langchain", "crewai", "google-adk", a list, or "auto" to pick up whatever's installed), plus the enterprise enrichment processors.
  3. track(agent) — wrap an agent object once. track reads the agent's name and system prompt automatically and stamps the canonical openinference.span.kind=AGENT + tracectrl.agent.{id,name,framework} (and role/system_prompt when available) at the source — so the platform never has to guess agent identity from span names. Returns the same agent (chainable).

Override any field explicitly when the defaults aren't right (notably for LangChain/CrewAI/Google ADK, whose agents don't self-describe):

agent = track(my_chain, id="invoice-extractor", name="InvoiceExtractor",
              framework="langchain", role="document_extraction")

For multi-turn flows, group traces with the session helpers:

from tracectrl_enterprise import new_session, set_user_id
new_session(user_id="alice@example.com")   # or set_session_id("<your conversation id>")
set_user_id("bob@example.com")             # change who is driving; clear_user_id() to forget

Mark externally-triggered entry points with the ingress decorator so the platform records how a run was triggered:

from tracectrl_enterprise import ingress

@ingress(trigger_type="email")
def handle_inbound(msg): ...

Tenancy is set by the collector, never the SDK

Spans export over OTLP (gRPC by default, HTTP opt-in) with Authorization: Bearer <ingest_key>. The collector resolves your ingest key to a tenant and stamps tracectrl.tenant_id on every span — your app can't (and shouldn't) set tenancy itself; the collector is the trust boundary.

Configuration

configure(ingest_key=..., endpoint=..., service_name=..., protocol=...):

Argument Env var Default Required
ingest_key TRACECTRL_INGEST_KEY — yes — fails loud if not set
endpoint TRACECTRL_ENDPOINT https://cloud.tracectrl.ai/ingest no
service_name TRACECTRL_SERVICE_NAME the script or module name being run, else tracectrl-agent no
protocol TRACECTRL_PROTOCOL grpc no — http for OTLP/HTTP (protobuf)

grpc dials host:port (443 for https, else 4317) and ignores any URL path. http posts to <scheme>://host[:port]/v1/traces (port 4318 for a bare host); any other path is replaced, so https://host/ingest and https://host both work. Use http when the proxy in front of TraceCtrl terminates TLS without HTTP/2 ALPN (gRPC then fails with UNAVAILABLE … missing selected ALPN property); nothing else changes — same key, same spans, same tenancy.

Migrating from 0.1.x

0.1.x exposed a tag_agent(id=, name=, framework=) decorator placed on each agent invocation. It has been removed in favour of track(), which reads identity off the agent object, captures the system prompt, and composes with the framework instrumentors. Replace @tag_agent(id="x", name="X", framework="f") on a function with agent = track(my_agent, ...) on the agent object.

License

Apache 2.0. The TraceCtrl Enterprise server-side platform (engine, collector, UI) is BUSL-licensed; the SDK is permissively licensed so it can be embedded in your proprietary code without restriction.

Reporting issues

https://github.com/Cloudsine-weborion/tracectrl-enterprise/issues

Metadata

Release files for tracectrl-sdk 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tracectrl-sdk 0.3.3
File Size Uploaded Provenance
tracectrl_sdk-0.3.3.tar.gz 24.5 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tracectrl-sdk 0.3.3
File Interpreter ABI Platform
tracectrl_sdk-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 54.0 kB

Release files / tracectrl_sdk-0.3.3.tar.gz

Download URL tracectrl_sdk-0.3.3.tar.gz
Size 24.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e4c0001d41186ca770f6297bb026da1da611a8cd874f4ba04b66bdf541d00804
BLAKE2b-256 checksum
How to use checksums
b13a04a32202a2cde1b8e0ae4075df465aa03ed2416822ffc0ec7ce07aebe8ac
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 Oct 20, 2026.

Transparency log

Release files / tracectrl_sdk-0.3.3-py3-none-any.whl

Download URL tracectrl_sdk-0.3.3-py3-none-any.whl
Size 29.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
58d77350f986a5e56e4fb52a7313f04216ea031d541cf799daac8ae500414457
BLAKE2b-256 checksum
How to use checksums
59a3e6d4194f6fad3af4b45c1484e7185eea819c1dcd8c54eac8414791c85000
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 Oct 20, 2026.

Transparency log

Security for tracectrl-sdk 0.3.3

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for tracectrl_sdk-0.3.3.tar.gz

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 Oct 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files Full provenance

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