Skip to main content
Version: 2026.08

Python Client 201: Your first System

Get a documented CAD model onto the Istari Digital Platform: a new System whose baseline branch holds a README, the model, and the Python that generated it. The same commands work for an AI coding agent.

Everything here runs from one commented script: you download it, it makes the API calls for you, and it prints the ids and a link to what it created. There is no Python to write yet — the point is to have a real System you can click through, and a worked example you can read, before you start writing code of your own.

Time: about five minutes — the script itself takes under a minute; the rest is installing the client and generating a Key.

When you want to make the calls yourself, Python Client 202 is the hands-on lesson: you write the script, register a spreadsheet, run two extractions, and compare what changed.

What the script does​

One run, five steps:

  1. Connects using the credential named in istari.env — nothing is passed on the command line.
  2. Generates the demo files in your working directory: it writes make_bracket.py, runs it to produce bracket.stl, and composes 00-README.html. With --file it uploads your CAD instead of generating one.
  3. Uploads each file as a Resource of type model, so the web app renders it in place instead of offering a download.
  4. Creates a System and commits all three Resources onto its baseline branch, in this layout:
Where it landsWhat it is
00-README.html (root)Front door. Click it — it renders in place and links to the two files below.
10-Model/bracket.stlParametric mounting bracket (binary STL). The web app shows STL as an interactive 3D view.
10-Model/make_bracket.pyPure-Python generator for the STL.
  1. Prints JSON with system_id, each Resource id, and ui_link — the web-app URL to open.

The README is versioned on the branch with the model, and its links keep working when you upload a new revision. Change the folder with --folder.

Download​

The filename names the client version the script is written for: install exactly 13.0.0. Every run prints the client version it found and stops if it is a different one, so a stale environment fails before it creates anything. Pass --any-sdk-version to run against another version anyway.

SHA-256: 1526253dedab717517dd3f483528ba93bc78a718dd000ddf9753d5ec9e552a6e — compare with shasum -a 256 istari_quickstart_13_0_0.py (macOS/Linux) or Get-FileHash istari_quickstart_13_0_0.py (PowerShell), or read the file before running it.

Credentials​

Python 3.10 or newer (python3 --version), network access, and a credential. In an empty folder, create istari.env:

ISTARI_DIGITAL_API_URL=<API URL from Endpoints on Developer Settings>
ISTARI_CLIENT_IDENTITY_SERVICE_SECRET_FILE=/absolute/path/to/the-key-file-you-downloaded.json
ISTARI_DIGITAL_IDENTITY_SERVICE_ENABLED=true

Write all three lines, with the names exactly as shown — including the ISTARI_CLIENT_ prefix on the key path, and the last line, which turns Key authentication on. The client reads them from the environment, so no credential is passed on the command line.

To get the key file: in the Istari Digital web app, open avatar → Developer (example: https://demo.istari.app/settings?tab=developer-settings). Click Generate Key, then Download credentials — the key is shown once. Details: Developer Settings — Keys.

Personal Access Tokens are deprecated (July 2026). If your instance still issues one, replace the three lines above with ISTARI_REGISTRY_URL and ISTARI_REGISTRY_AUTH_TOKEN.

Keep istari.env and the key file on disk. Do not put a key or token on the command line, in a prompt, or in a chat log.

Three commands​

macOS / Linux​

pip install "istari-digital-client==13.0.0"
curl -fsSL https://docs.istaridigital.com/quickstart/istari_quickstart_13_0_0.py -o istari_quickstart_13_0_0.py
python istari_quickstart_13_0_0.py --sample bracket --env istari.env

Faster: with uv​

uv venv && source .venv/bin/activate && uv pip install "istari-digital-client==13.0.0"
curl -fsSL https://docs.istaridigital.com/quickstart/istari_quickstart_13_0_0.py -o istari_quickstart_13_0_0.py
python istari_quickstart_13_0_0.py --sample bracket --env istari.env

Windows (PowerShell)​

py -m pip install "istari-digital-client==13.0.0"
Invoke-WebRequest https://docs.istaridigital.com/quickstart/istari_quickstart_13_0_0.py -OutFile istari_quickstart_13_0_0.py
py istari_quickstart_13_0_0.py --sample bracket --env istari.env

If you already downloaded the script from the link above, skip curl / Invoke-WebRequest. On a local or on-prem docs site, replace https://docs.istaridigital.com with that origin.

The last command prints one line per step, then the JSON. Open ui_link. To upload your own CAD instead of the sample bracket, swap --sample bracket for --file path/to/your_part.stl; python istari_quickstart_13_0_0.py --help lists every flag.

To check the credential before creating anything, run python istari_quickstart_13_0_0.py --check-connection --env istari.env. It authenticates and prints your user id and up to five visible System ids.

Clean up​

Archive the System and every model the run put on its baseline branch. Nothing is deleted — restore from the web app:

python istari_quickstart_13_0_0.py --env istari.env --archive <system_id>

What the script uses​

istari-digital-client 13.0.0, the client released with this platform version. Every call it makes is commented in the file. SDK setup is the reference for your own code, Folders in the Python client explains the folder paths, and Linking to the web app explains the URLs it prints. Install the agent recipes from Start with Claude Code.

Where next​