Quickstart
Install the SDK, initialize it once, and see your first trace in the dashboard.
Two SDKs, same concepts: Python (syntropylabs-evalkit, imported as evalkit) and TypeScript (syntropylabs-evalkit). One principle drives both: `init()` does everything. After init, your LLM calls, HTTP, DB, and logs are traced automatically — including tool/function calls made by the LLM. You do not create spans by hand.
1. Install
pip install syntropylabs-evalkit # import name stays: import evalkitYou need a subscription key (tk_live_…) from the dashboard: Tracing → create a trace project.
2. Initialize (once, at startup)
import evalkit
evalkit.init(
subscription_key="tk_live_...", # required
service_name="my-api", # shows up in the dashboard
environment="production", # development | staging | production
)
# ... your app runs ...
evalkit.flush() # call before the process exits3. Make a traced call — nothing else to wire up
from openai import OpenAI
client = OpenAI() # auto-traced after evalkit.init()
resp = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)URLs are automatic.
baseUrl (trace ingest) and apiUrl (control plane) default to the hosted service. Override only for self-hosting — see Configuration.4. View it in the dashboard
Open Dashboard → Tracing, select your project, and click the request you just made — you’ll see the full waterfall: the LLM call, its tokens and latency, and any tool calls the model made.
Next steps
- Core Concepts — traces, spans, projects, evaluators, simulations
- Python SDK / TypeScript SDK — manual spans, function tracing (APM), framework middleware
- LLM Providers — the full auto-instrumentation support matrix
- Scenario Simulation — test your agent against synthetic users before real ones hit it