Python Client
The Python Client (istari-digital-client on PyPI) is the supported way to drive the Istari Digital Platform from code. Anything you can do through the platform's web UI, you can do from Python — registering files, running extraction jobs, browsing systems and snapshots, managing access, working with agents and modules, and reading the digital thread that connects them all.
Use it to script one-off operations, automate recurring engineering work, or build new applications on top of platform data.
Key features
- Full feature parity with the UI. Every action available in the browser is exposed as a method on the client.
- Typed responses. Models, jobs, snapshots, and access relationships are returned as Pydantic objects with explicit attributes, not raw JSON.
- Two clients in one package.
Clientcovers jobs, agents, systems, snapshots, and access control.V3Clientintroduces a unified resource API for models, artifacts, files, documents, revisions, comments, and relationships, and is the direction we're investing in long-term. Both share oneConfigurationand can be used side by side — see the V3Client quick start. - Same authentication and authorization as the UI. A Key from Settings → Developer authenticates the client (Personal Access Tokens remain as a deprecated fallback). Permissions, control tags, and infosec levels are enforced server-side, identically to the browser.
What you can build with it
Concrete examples we see customers reach for:
- Automate engineering integrations. Loop over hundreds of CAD or simulation files, register each one, run
@istari:extractagainst the right tool, and collect the resulting artifacts — all in one script. See Patterns for the building blocks. - Bulk import and migration. Walk a network drive, register every supported file as a Resource, tag it, and place it in the right System.
- Custom dashboards and reports. Pull job histories, snapshot diffs, and model metadata into a notebook to produce engineering KPIs that aren't surfaced by the UI.
- CI/CD for engineering data. On every pull request, run an extraction against the changed model, compare the output to the baseline snapshot, and post a status check or comment.
- Connect the platform to other tools. Mirror snapshot tags into Jira, surface model changes in Slack, drive PLM updates from a job's output — with the client handling auth, retries, and pagination.
- Programmatic access control. Share systems with new project members, rotate control tag assignments, or audit who has access to a given snapshot.
- Build new UIs on top of platform data. Use the client as the data layer for a domain-specific tool that uses the same files, jobs, and systems as the rest of the organisation.
What's in this section
| Page | What it covers |
|---|---|
| Setup | Install the client and create a Client / Configuration (Keys first). |
| V3Client quick start | When to reach for V3Client, the unified resource API, and how it relates to Client. |
| Patterns | Reusable approaches for workflows, parameter studies, and combining operations into digital threads. |
| App Integrations | Connect the platform to external apps — Microsoft 365, Google Drive, network drives. |
| Branching | Create System branches, commit Resources, and open or merge change requests from Python. |
| API reference | Every method on Client and V3Client, every parameter, every model. The exhaustive lookup. |
Hands-on tutorial
If you'd rather learn by doing: Python Client 201 — Your first System puts a CAD model on a System in one command. Python Client 202 — First digital thread registers a spreadsheet, runs two extractions, and produces a diff.
Want to see exactly what version of the client these pages document? See the version selector at the top of every Python Client page (or check the PyPI release page).