Skip to main content

icmd-python

icmd-python is the supported Python SDK and command-line client for licensed QuesTek customers automating the ICMD® 2.0 API. It requires Python 3.12+ and access to an ICMD® tenant — a hostname and an account, both supplied by QuesTek. Without them the package installs but has nothing to talk to.

It covers sign-in and encrypted credential storage, owner-group selection, the Suite and Studio resources (databases, models, datasets, jobs, results), model-contract retrieval and job-input composition, and browser links back into the web app.

Installation

Install into your environment as a library:

pip install icmd-python

Reading result values (client.studio.results.open, save_store) needs the results extra — zarr and xarray: pip install "icmd-python[results]".

For the standalone icmd CLI only:

uv tool install icmd-python

uv tool install puts the entry point on your PATH in its own isolated environment — but it does not make icmd importable, so it does not cover the Python usage below.

Quick Start

Python

from icmd import ICMD

client = ICMD("your-tenant.icmd.ai")

# Every list endpoint returns a pagination envelope; the rows are under "data".
jobs = client.studio.jobs.list(page_size=1)["data"]

if jobs:
    # Where to look at one in the browser. Never build this URL by hand — the app
    # lives under /app and its segments do not match the API paths.
    print(client.link_for("job", jobs[0]["uuid"]))

For scripts and CI/CD (no interactive prompts):

client = ICMD("your-tenant.icmd.ai", developer_token="your-api-token", owner_group="my-team")

CLI

icmd login --domain your-tenant.icmd.ai
icmd studio jobs list --domain your-tenant.icmd.ai --group my-team
icmd studio jobs get 8f3e6c1a-0b2d-4e5f-9a7b-1c2d3e4f5a6b --domain your-tenant.icmd.ai
# the browser link for it
icmd link build job 8f3e6c1a-0b2d-4e5f-9a7b-1c2d3e4f5a6b --domain your-tenant.icmd.ai

Replace your-tenant.icmd.ai with the hostname QuesTek gave you. Setting ICMD_DOMAIN and ICMD_GROUP in your environment saves repeating them on every command.

Commands emit JSON except studio jobs log --follow, which streams raw log text; diagnostics and errors go to stderr.

What is in the package

  • ICMD — the client facade. Constructing it authenticates (interactive sign-in, a developer token, or a stored credential) and binds the session to one tenant.
  • client.suite, client.studio, client.workspace, client.agent, client.account, client.comments — the API areas. Most expose resource objects with a uniform surface: list() and list_all(), get(), and, where the endpoint allows it, add(), update(), and delete().
  • client.contracts — model contracts fetched from the server, and the advisory check that reads a job input against them.
  • compose_input_dict() and check_input_dict() — assemble a job input from models, composition, and design space, then check it before submitting.
  • link_for() — web-app links for a resource, as a module function or a client method.

help(icmd.ICMD) and icmd --help document the full surface; every public function, method, and class carries a docstring. For the written guides, the CLI reference, and the Jupyter notebook tutorials, contact your QuesTek representative.

License

Proprietary. Copyright © QuesTek Innovations LLC. All rights reserved. This software is confidential, and its use is permitted solely under the terms of a valid written agreement with QuesTek; absent such an agreement, no license or right is granted, whether express or implied. The full license text ships with the distribution.

Metadata

Release files for icmd-python 3.14.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for icmd-python 3.14.0
File Interpreter ABI Platform Actions
icmd_python-3.14.0-py3-none-any.whl Python 3 none any Details for icmd_python-3.14.0-py3-none-any.whl

Release files / icmd_python-3.14.0-py3-none-any.whl

Download URL icmd_python-3.14.0-py3-none-any.whl
Size 233.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
18a22bc03e8a3ff3c2bedac13b41c708c674f0870f775419d81c107058ed7384
BLAKE2b-256 checksum
How to use checksums
ac67a125dfaaa0dcfceccd19412e83c9bb0b18e7b004b7ee0c1d15c0416992db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.15

Security for icmd-python 3.14.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page