Skip to main content
This page gives Python and CLI examples for each main use case. For parameter details, see SDK reference and CLI reference. For setup, see Installation and Authentication.

List model repos

Python:
from simplismart import ModelRepoListParams, Simplismart
import os

client = Simplismart(pg_token=os.getenv("SIMPLISMART_PG_TOKEN"))
repos = client.list_model_repos(
    ModelRepoListParams(
        org_id=os.getenv("ORG_ID"),
        offset=0,
        count=5,
        status="SUCCESS",
        name="vision",
        model_type="BYOM",
    )
)
print(repos)
CLI:
simplismart model-repos list --org-id "$ORG_ID" --offset 0 --count 5
simplismart model-repos list --org-id "$ORG_ID" --status SUCCESS --name vision --model-type BYOM --offset 0 --count 20

Get model repo

Python:
repo = client.get_model_repo(model_id="<MODEL_REPO_UUID>", org_id=os.getenv("ORG_ID"))
CLI:
simplismart model-repos get --model-id <MODEL_REPO_UUID>

Create container model repo

Requires a secret (e.g. Docker Hub). See Deploy Docker Container. Python:
from simplismart import ModelRepoCreate, Simplismart
import os

client = Simplismart(pg_token=os.getenv("SIMPLISMART_PG_TOKEN"))
repo = client.create_model_repo(
    ModelRepoCreate(
        name="vision-container-demo",
        org_id=os.getenv("ORG_ID"),
        source_type="docker_hub",
        source_secret="<SECRET_UUID>",
        registry_path="your-docker-org/your-model",
        docker_tag="latest",
        runtime_gpus=1,
        env={"EXAMPLE_KEY": "value"},
        healthcheck={"path": "/", "port": 8000},
        ports={"http": {"port": 8000}},
    )
)
print(repo["uuid"])
CLI:
simplismart model-repos create-container \
  --name vision-container-demo \
  --org-id "$ORG_ID" \
  --source-type docker_hub \
  --runtime-gpus 1 \
  --source-secret <SECRET_UUID> \
  --registry-path your-docker-org/your-model \
  --docker-tag latest

Create private deployment

Python:
from simplismart import DeploymentCreate, Simplismart
import os

client = Simplismart(pg_token=os.getenv("SIMPLISMART_PG_TOKEN"))
deployment = client.create_private_deployment(
    DeploymentCreate(
        model_repo="<MODEL_REPO_UUID>",
        org=os.getenv("ORG_ID"),
        gpu_id="nvidia-h100",
        name="vision-private-deploy",
        min_pod_replicas=1,
        max_pod_replicas=2,
        autoscale_config={"targets": [{"metric": "gpu", "target": 80}]},
    )
)
print(deployment["uuid"])
CLI: Create a file autoscale.json:
{"targets": [{"metric": "gpu", "target": 80}]}
simplismart deployments create-private \
  --model-repo <MODEL_REPO_UUID> \
  --org "$ORG_ID" \
  --gpu-id nvidia-h100 \
  --name vision-private-deploy \
  --min-pod-replicas 1 \
  --max-pod-replicas 2 \
  --autoscale-config @autoscale.json
See Creating a Deployment.

List deployments

Python:
deployments = client.list_deployments(status="DEPLOYED", offset=0, count=20)
# Or filter by model repo
deployments = client.list_deployments(model_repo_id="<MODEL_REPO_UUID>", status="FAILED", offset=0, count=20)
CLI:
simplismart deployments list --offset 0 --count 20
simplismart deployments list --status DEPLOYED --offset 0 --count 20
simplismart deployments list --model-repo-id <MODEL_REPO_UUID> --status FAILED --offset 0 --count 20

Deployment lifecycle: stop, start, scale

Python:
# Stop
client.stop_deployment(deployment_id="<DEPLOYMENT_UUID>")

# Start
client.start_deployment(deployment_id="<DEPLOYMENT_UUID>")

# Scale
client.update_deployment_autoscaling(
    deployment_id="<DEPLOYMENT_UUID>",
    min_replicas=1,
    max_replicas=3,
)
CLI:
simplismart deployments stop --deployment-id <DEPLOYMENT_UUID>
simplismart deployments start --deployment-id <DEPLOYMENT_UUID>
simplismart deployments scale --deployment-id <DEPLOYMENT_UUID> --min-replicas 1 --max-replicas 3

Update deployment

Python:
client.update_deployment(
    deployment_id="<DEPLOYMENT_UUID>",
    payload={"min_pod_replicas": 2, "max_pod_replicas": 4},
)
CLI: Create edit-payload.json with the editable fields, then:
simplismart deployments update --deployment-id <DEPLOYMENT_UUID> --payload @edit-payload.json

Delete deployment and model repo

Python:
client.delete_deployment(deployment_id="<DEPLOYMENT_UUID>", org_id=os.getenv("ORG_ID"))
client.delete_model_repo(model_id="<MODEL_REPO_UUID>")
CLI:
simplismart deployments delete --deployment-id <DEPLOYMENT_UUID>
simplismart model-repos delete --model-id <MODEL_REPO_UUID>

Secrets: create, list, get

Create secrets for registry credentials. Supported secret_type values and their data payloads:
Typedata payload
docker_hub{"username": "...", "token": "..."}
depot{"username": "...", "token": "..."}
NVIDIA NIM{"server": "nvcr.io", "username": "$oauthtoken", "password": "..."}
See Secrets for full reference. Python:
from simplismart import SecretCreate, Simplismart
import os

client = Simplismart(pg_token=os.getenv("SIMPLISMART_PG_TOKEN"))

# Docker Hub
secret = client.create_secret(
    SecretCreate(
        secret_type="docker_hub",
        name="demo-secret",
        org=os.getenv("ORG_ID"),
        data={
            "username": os.getenv("SECRET_USERNAME", "myuser"),
            "token": os.getenv("SECRET_PASSWORD", "mytoken"),
        },
    )
)

# Depot (same shape: username + token)
# secret = client.create_secret(
#     SecretCreate(
#         secret_type="depot",
#         name="depot-secret",
#         org=os.getenv("ORG_ID"),
#         data={"username": "...", "token": "..."},
#     )
# )

# NVIDIA NIM (server + $oauthtoken username + password)
# secret = client.create_secret(
#     SecretCreate(
#         secret_type="nvidia_nim",
#         name="nvidia-secret",
#         org=os.getenv("ORG_ID"),
#         data={
#             "server": "nvcr.io",
#             "username": "$oauthtoken",
#             "password": "...",
#         },
#     )
# )

# List
secrets = client.list_secrets(org_id=os.getenv("ORG_ID"))
# Get
one = client.get_secret(secret_id=secret["uuid"])
CLI: Create secret-data.json (for docker_hub or depot: username + token):
{"username": "myuser", "token": "mytoken"}
For NVIDIA NIM:
{"server": "nvcr.io", "username": "$oauthtoken", "password": "your-oauth-token"}
Then:
simplismart secrets create --org-id "$ORG_ID" --name demo-secret --secret-type docker_hub --data @secret-data.json
simplismart secrets list --org-id "$ORG_ID"
simplismart secrets get --secret-id <SECRET_UUID>

BYOC deployment

Create a BYOC deployment with a payload (cluster, nodegroup, etc.). See Bring your own compute and Deploy on imported cluster. Python:
with open("byoc-create.json") as f:
    payload = json.load(f)
deployment = client.create_byoc_deployment(payload=payload)
CLI:
simplismart deployments create-byoc --payload @byoc-create.json
Your byoc-create.json should match the API schema (e.g. cluster ID, nodegroup ID, model/repo references). Use the dashboard or API docs to confirm the exact payload shape.