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()andlist_all(),get(), and, where the endpoint allows it,add(),update(), anddelete().client.contracts— model contracts fetched from the server, and the advisory check that reads a job input against them.compose_input_dict()andcheck_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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.