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.
The package ships two clients that share one Configuration. Client covers jobs, agents, systems, snapshots, and access. V3Client is the resource API for models, artifacts, files, connected resources, revisions, comments, and relationships. Documents stay on Client. See the V3Client quick start. A Key from Settings → Developer authenticates either client. Scripts that still pass a personal access token: Move a Python script from a PAT to a key.
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). |
| PAT to a key | Which change matches a script that still signs in with a personal access token. |
| 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. |
| Branching | Create System branches, commit Resources, and open or merge change requests from Python. |
| Connected resources | Connect Resources that live in a third-party app, run jobs on them with a stored credential, and revise them. |
| 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).