tracectrl-enterprise
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-enterprise[strands]" # or [agno], [langchain], [crewai], [google-adk], [all]
The framework extras pull the matching OpenInference instrumentor. The base package
(pip install tracectrl-enterprise, 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:
configure(ingest_key=...)— initialise the OTLP pipeline against your collector (required ingest key; fails loud if missing).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.track(agent)— wrap an agent object once.trackreads the agent'snameand system prompt automatically and stamps the canonicalopeninference.span.kind=AGENT+tracectrl.agent.{id,name,framework}(androle/system_promptwhen 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
new_session() # or set_session_id("<your conversation id>")
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 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=...):
| Argument | Env var | Default | Required |
|---|---|---|---|
ingest_key |
TRACECTRL_INGEST_KEY |
— | yes — fails loud if not set |
endpoint |
TRACECTRL_ENDPOINT |
https://app.tracectrl.ai/ingest |
no |
service_name |
TRACECTRL_SERVICE_NAME |
tracectrl-agent |
no |
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
Metadata
Release files for tracectrl-enterprise 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tracectrl_enterprise-0.2.3.tar.gz | 20.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tracectrl_enterprise-0.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.4 kB
Release files / tracectrl_enterprise-0.2.3.tar.gz
| Download URL | tracectrl_enterprise-0.2.3.tar.gz |
|---|---|
| Size | 20.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bbc9029df4773e19c02d90967295c62958ed3bb1add7f8f3e5c7de0e0a5f296f
|
|
BLAKE2b-256 checksum How to use checksums |
f81c34d0b169174564106b32c8b7415fd42f1e4b9447b88d573ab2ca0f1f387d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 19, 2026.
Transparency logRelease files / tracectrl_enterprise-0.2.3-py3-none-any.whl
| Download URL | tracectrl_enterprise-0.2.3-py3-none-any.whl |
|---|---|
| Size | 25.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0d6e464d8a06a227704081a5ab9e7c0ece7516e23da0022c16fbabf5fd628cb7
|
|
BLAKE2b-256 checksum How to use checksums |
2b73ecbf49cc32a4afb84ae824e55808fc8f800edd9ddff2c99752abdf96160f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 19, 2026.
Transparency logSecurity for tracectrl-enterprise 0.2.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.
Attestation for tracectrl_enterprise-0.2.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 Jun 19, 2026.
Transparency logA 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.