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 evalkit

    You 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 exits

    3. 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

    EvalKit is built by Syntropylabs. Published on PyPI and npm.