Skip to main content

Trace Python SDK — programmatic client for the Trace AI EDA backend.

Project description

buildwithtrace-sdk

What's new in v0.1.5

Changed

  • Quota and plan error messages from the server are now surfaced verbatim to the caller instead of being replaced with a generic error; free-credits messaging is also included.

Full history: release notes.

Python SDK for Trace — programmatic access to the Trace AI EDA backend (symbol/footprint generation, semantic component search, and chat/agent over your KiCad designs).

pip install buildwithtrace-sdk
from buildwithtrace_sdk import Trace

# Sign in once via the browser (opens the Trace login page, supports
# password + Google + GitHub + magic link, and solves the captcha there):
client = Trace.login()        # stores credentials, returns a ready client
# ...after which a bare Trace() "just works" by reading those credentials:
client = Trace()              # or Trace(api_key="...") / TRACE_API_KEY env var

sym = client.generate_symbol("LM7805 5V voltage regulator")
sym.save("./symbols/")                      # writes LM7805.kicad_sym

fp = client.generate_footprint("SOIC-8 3.9x4.9mm")
fp.save("./footprints/")                    # writes SOIC-8.kicad_mod

for r in client.search("3.3V LDO", type="symbol", limit=5):
    print(r.name, r.library)

# Read-only Q&A about a design:
ans = client.ask("What ERC violations exist?", project_dir="./my-board/")
print(ans.text)

# Agent mode — the SDK runs the client-side tool loop locally (sandboxed):
res = client.chat("Add a 100nF decoupling cap on VCC", mode="agent", project_dir="./my-board/")
print(res.text)

Auth options:

  • Trace.login() — browser deeplink sign-in; persists credentials so later Trace() calls (and the buildwithtrace CLI) reuse them. Trace.logout() clears them.
  • buildwithtrace auth login (CLI) — same browser flow.
  • Trace(api_key="...") / TRACE_API_KEY / TRACE_API_TOKEN env — explicit token (CI/headless).
  • Get a token (CI): mint a long-lived Personal Access Token with buildwithtrace auth token --create --name ci-bot (trace_pat_..., shown once), or in the dashboard (Settings → Developer). Token management requires an interactive login — a PAT can't mint/revoke tokens.

Env overrides: TRACE_BASE_URL (API base), TRACE_FRONTEND_URL (login page origin), TRACE_API_KEY / TRACE_API_TOKEN (token), TRACE_API_VERSION (default latest), TRACE_LLM_PROVIDER / TRACE_LLM_API_KEY / TRACE_LLM_MODEL (BYOK), TRACE_NO_ANALYTICS / DO_NOT_TRACK (opt out of anonymous usage analytics).

Notes

  • chat(mode="agent") / "plan" produce file-editing tool calls. The SDK runs a standalone, client-side tool-execution loop: when you pass project_dir, file ops (read/write/search_replace/list_dir/grep/delete) and local ERC/DRC/export run on your machine with the SAME safety as the desktop/CLI (extension allowlist, project-dir sandbox, symlink-safe path resolution), looping until the turn completes. Writes are auto-approved (programmatic agent). Without a project_dir, an emitted tool call raises TraceToolExecutionError (file ops can't be sandboxed); GUI-only tools (canvas snapshots, layer toggles) are always reported as unsupported.
  • .trace_sch/.trace_pcb writes are converted to KiCad format via the buildwithtrace-converter package (a hard dependency); if the conversion raises the file is still written and the turn continues (conversion is reported as failed, not fatal).
  • BYOK via chat(..., llm_provider=, llm_api_key=, llm_model_id=) or the TRACE_LLM_PROVIDER/TRACE_LLM_API_KEY/TRACE_LLM_MODEL env, or the CLI's persisted byok set store (precedence: per-call args > env > store). BYOK skips Trace's cost cap but NOT the plan gate — agent/plan still need a paid plan or free agent credits even with your own key (ask is free); a free account gets a TracePlanRestrictedError.
  • Anonymous, privacy-first usage analytics (method names, durations, outcomes — never file contents/paths/prompts). Auto-off in CI; opt out with TRACE_NO_ANALYTICS=1 / DO_NOT_TRACK=1.

Extracted from the buildwithtrace CLI repo. The CLI re-exports Trace for backward compatibility (from buildwithtrace import Trace).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

buildwithtrace_sdk-0.1.5.tar.gz (96.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

buildwithtrace_sdk-0.1.5-py3-none-any.whl (67.4 kB view details)

Uploaded Python 3

File details

Details for the file buildwithtrace_sdk-0.1.5.tar.gz.

File metadata

  • Download URL: buildwithtrace_sdk-0.1.5.tar.gz
  • Upload date:
  • Size: 96.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for buildwithtrace_sdk-0.1.5.tar.gz
Algorithm Hash digest
SHA256 2ba49c75b3d30346321f575a0722415aec3aa10ec75455230affa36797c53228
MD5 ec586f0cb1ff47b5e402a7e6be927268
BLAKE2b-256 361eb815feff31f9343b91f5c61b70b40c28ca84dbb7163cefc9abcc02def2c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for buildwithtrace_sdk-0.1.5.tar.gz:

Publisher: release.yml on elcruzo/trace-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file buildwithtrace_sdk-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for buildwithtrace_sdk-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 79336113683211492123da4962df9207e2da77c4217735145277b090efa9e10f
MD5 96756d8b137cecca95495c170399daa8
BLAKE2b-256 db073e72c2ce29cdbb9d836b83afdf590b3d9dc15d0c6eeeb78d4ba2116707ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for buildwithtrace_sdk-0.1.5-py3-none-any.whl:

Publisher: release.yml on elcruzo/trace-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page