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

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 — 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.

Release files for icmd-python 3.3.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.3.0
File Interpreter ABI Platform
icmd_python-3.3.0-py3-none-any.whl Python 3 none any Details

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

Download URL icmd_python-3.3.0-py3-none-any.whl
Size 191.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
46b986f441264e3fa688d40a1aade6fbeeaee5fbc396e5722d682935b64b4ba4
BLAKE2b-256 checksum
How to use checksums
40928c2c728c4c87770a09f752e8f08637807772dc7c208fe8eeadf9c034dcde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.14

Release history Release notifications | RSS feed

3.3.5

1 release file

3.3.4

1 release file

This release

3.3.0 This release

1 release file

1.7.1.1

1 release file

1.7.1

1 release file

1.6.5

1 release file

1.5.8

1 release file

1.5.7

1 release file

1.3.2

1 release file

1.1.5

1 release file

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