SDK overview
Open core · self-host + all Splyntra Cloud plans
Splyntra has two first-class SDKs — one for Python, one for TypeScript / JavaScript — and both are Apache-2.0, so you can embed them freely in any project, including closed-source and commercial ones. They speak the same OTLP endpoint, so you can mix languages across a fleet and see every run in the same dashboard.
| Python | TypeScript / JavaScript | |
|---|---|---|
| Package | pip install splyntra | npm install @splyntra/sdk |
| Init | Splyntra(...) (snake_case) | new Splyntra({...}) (camelCase) |
| Runtime | — | Node.js ≥ 18, ESM or CommonJS |
| License | Apache-2.0 | Apache-2.0 |
| Reference | Python SDK | TypeScript SDK |
Install
- Python
- TypeScript
pip install splyntra
# with framework extras:
pip install "splyntra[langgraph,openai]"
npm install @splyntra/sdk
# or: pnpm add @splyntra/sdk / yarn add @splyntra/sdk
Auto-instrumentation vs. manual
There are two ways to capture spans, and you can combine them.
- Auto-instrumentation — pass an
instrumentlist at init and Splyntra patches your frameworks and providers so every step, model call, and tool invocation is captured with no per-call changes. This is the default path and covers most agents. - Manual instrumentation — wrap or decorate your own functions with
@trace_agent/@trace_tool/@trace_llm(Python) orwrapAgent/wrapTool/wrapLLMand decorators (TypeScript) when you have custom code outside a supported framework. See Manual instrumentation.
The instrument list
Set instrument to the frameworks and providers you use. Each instrumentor is a safe
no-op when its target package is not installed, so listing extras you do not have is
harmless.
instrument name | Captures | Notes |
|---|---|---|
openai | Chat completions → llm_call | Also covers OpenAI-compatible providers via base_url |
anthropic | Messages → llm_call | |
ollama | Generate/chat → llm_call | |
langgraph | Graph run → agent, nodes → step | |
openai_agents / openai-agents | Runner.run → agent | |
crewai | Kickoff → agent, tasks → step, tools → tool_call | |
mcp | tools/call → tool_call | |
llamaindex | Query → agent, retriever → retrieval | |
chroma | Query/get → vector_search | |
google_adk | Agent runs → agent / tool_call | Python only |
pydantic_ai | Agent runs → agent | Python only |
Only openai, langgraph, openai-agents, and crewai ship a pip extra; the rest
instrument whatever is already in your environment. See
Framework integrations and
LLM providers.
When to use each
| Use the SDK when… | Send raw OTLP when… |
|---|---|
| You write Python or TypeScript and want auto-instrumentation, the inline guard, logs, eval, and governance helpers in one package. | You already emit OpenTelemetry from another language or an out-of-process platform. |
For raw OpenTelemetry, point your exporter at the collector — see Ingest & OTLP. For no-SDK platforms like Dify and n8n, see Agent platforms.
Next steps
- Python SDK · TypeScript SDK — full references.
- Manual instrumentation — decorators and wrappers.
- Quickstart — first trace in minutes.