Sections
Init & Setup
decimalai.init(), environment variables, framework flags.Tracing
@trace, start_trace, log_llm_call, log_tool_call, @tool.Manifests
register_manifest, flush_manifest_for_ci.Evaluations
eval, score, get_eval_breakdown, batch_eval, @eval, external imports.Replay & Experiments
get_replay_prompts, create_replay_batch, get_replay_batch.Datasets & Training
pull_dataset, push_to_hub, load_hf_dataset.Framework Instrumentation
8 framework integrations — OpenAI Agents, LangChain, LlamaIndex, Pydantic AI, CrewAI, generic OTel, plus native plugins for Google ADK and Anthropic Claude Agent SDK.
Skills
Sync from disk, pull from platform,
SkillRouter CRUD.Complete API Summary
Top-level functions (in decimalai)
Grouped by surface. Every function below is importable directly from decimalai.
Tracing
Tracing
Manifests
Manifests
Evaluations
Evaluations
Datasets
Datasets
Replay
Replay
Framework instrumentation (subpackages)
9 framework integrations — eight ship a subpackage; CrewAI is flag-only (see below). Google ADK and Anthropic’s Claude Agent SDK use native plugins (not OTel).These entry points were called
install() in 0.10.0 and earlier. They
were renamed to instrument() in 0.10.2 — same arguments, same
behaviour — because install had come to mean something else entirely:
adding a skill to your workspace. install() still works and emits a
DeprecationWarning. See Vocabulary.Not to be confused with SkillRouter.install(), which is the skill
operation and keeps its name.decimalai.crewai subpackage — CrewAI rides the generic OTel rail: decimalai.init(crewai=True) is a convenience alias for the OTel exporter (see Frameworks).
Class-based clients
Body delivery is budgeted per turn via four constructor kwargs, mirroring the backend defaults:
max_loaded_bodies=3 (max distinct bodies per turn), body_token_budget=6000 (estimated-token ceiling across loaded bodies), per_body_char_limit=8192 (per-body trim), body_load_deadline_s=20.0 (wall-clock cutoff after which further loads are refused).
Two inject flags, two scopes — they are not spellings of the same thing.
SkillRouter(inject_body=True) configures that router instance to include routed bodies in its prompt fragment. decimalai.init(inject_skill_body=True) (env: DECIMALAI_INJECT_SKILL_BODY=1) is global adapter config — it overrides the per-adapter default for budgeted body injection (on for langchain / anthropic / adk, which have no tool loop; off for openai_agents / pydantic_ai, which load bodies through load_skill; SDK 0.12.0+). Setting one does not set the other.REST-only endpoints
For endpoints that don’t yet have a top-level SDK wrapper (list_datasets, get_trace_stats, get_manifest, compatibility policy set, etc.), usehttpx directly against the REST API: