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 Personal Access Token from Settings > Developer Settings authenticates the client. 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 |
|---|---|
| Quick Start | Install the client, configure it with a registry URL and PAT, and make your first call. |
| 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. |
| 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, work through Python Client 201 — First digital thread. You'll register a spreadsheet, run two extractions, and produce a diff — the same flow as the UI tutorial, but in code.
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).