Niitaka SDK
AI agent observability and control plane — one import away.
Niitaka instruments your AI agents to capture every LLM call, tool invocation, and decision trace. Connect to the Niitaka dashboard to run experiments, enforce guardrails, and version your agents — without changing your agent code.
Install
pip install niitaka-sdk # core
pip install "niitaka-sdk[openai]" # + OpenAI
pip install "niitaka-sdk[anthropic]" # + Anthropic
pip install "niitaka-sdk[all]" # all providers
Quick start
import niitaka
import os
niitaka.configure(
api_key=os.getenv("NIITAKA_API_KEY"),
api_url="https://api.niitaka.ai", # or your self-hosted URL
)
# Instrument your LLM provider (pick one or more)
niitaka.instrument_openai()
niitaka.instrument_anthropic()
niitaka.instrument_gemini()
niitaka.instrument_groq()
# Wrap your agent run in a session
with niitaka.start_session(goal="Summarise this document", agent_id="my-agent"):
response = client.chat.completions.create(...) # auto-logged
Every call inside start_session is automatically traced — latency, token usage, cost, errors, and tool calls.
Providers
| Provider | Extra | Import |
|---|---|---|
| OpenAI | niitaka-sdk[openai] |
niitaka.instrument_openai() |
| Anthropic | niitaka-sdk[anthropic] |
niitaka.instrument_anthropic() |
| Google Gemini | niitaka-sdk[gemini] |
niitaka.instrument_gemini() |
| Groq | niitaka-sdk[groq] |
niitaka.instrument_groq() |
| LangChain | niitaka-sdk[langchain] |
from niitaka import NiitakaCallbackHandler |
LangChain
from niitaka import NiitakaCallbackHandler
import niitaka
with niitaka.start_session(goal="...", agent_id="lc-agent"):
chain.invoke({"input": "..."}, config={"callbacks": [NiitakaCallbackHandler()]})
Runtime config
Niitaka can push model, temperature, and guardrail config to your agent at runtime — no redeploy needed:
config = niitaka.get_runtime_config(agent_id="my-agent")
# config["llm"]["model"], config["guardrails"]["cost_limit_usd"], ...
Links
- Dashboard: niitaka.ai
- Docs: docs.niitaka.ai
- Support: hello@niitaka.ai
Release files for niitaka-sdk 0.1.25
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| niitaka_sdk-0.1.25.tar.gz | 57.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| niitaka_sdk-0.1.25-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 121.3 kB
Release files / niitaka_sdk-0.1.25.tar.gz
| Download URL | niitaka_sdk-0.1.25.tar.gz |
|---|---|
| Size | 57.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da9a8adb0b306ae89061f5fe203081d861b8e2f74ecabbf5f34c1072e096aa49
|
|
BLAKE2b-256 checksum How to use checksums |
a194cc56c5035278de17e595cbcbd7240289bbbb45a5aa180fa77d2bd242cf86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / niitaka_sdk-0.1.25-py3-none-any.whl
| Download URL | niitaka_sdk-0.1.25-py3-none-any.whl |
|---|---|
| Size | 63.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a021930beb93264f02c3dc5071aeb4d84513df96ddd009d1560a20753826db41
|
|
BLAKE2b-256 checksum How to use checksums |
8b80faf0e4b98fb026ff08ef604943df81ee6db470fb6348790267f239d29a86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|