Skip to main content

Stimulir Console CLI — workspaces, API keys, BYOK, usage, inference, lab and compute.

Project description

stimulir CLI

Command-line interface for the Stimulir Console platform — workspaces, API keys, BYOK credentials, usage/billing, inference, and HybrIE lab/compute.

Built with Python 3.11+, Typer, Rich, and httpx.

Install

Once published to PyPI:

uv tool install stimulir
stimulir --help
# or run without installing:
uvx stimulir --help

From this repo (development):

uv tool install ./cli          # isolated tool from the local source
# or, for live-editing development:
cd cli && uv venv && uv pip install -e .

Conda/miniconda note: if you use plain pip install -e instead of uv, Anaconda Python builds skip the __editable__.*.pth hook, so the editable install silently fails to import (ModuleNotFoundError: stimulir_cli). uv avoids this entirely.

Login

Log in with your Stimulir account — auth defaults are baked in, nothing to configure:

stimulir login
# prompts for email + password, stores tokens in ~/.stimulir/credentials.json (0600)

(Non-production environments can override the auth endpoint via SUPABASE_URL / SUPABASE_ANON_KEY env vars or ~/.stimulir/config.json.)

Already have a JWT from the console web app? Paste it:

stimulir login --token <supabase-jwt>

Sessions auto-refresh using the stored refresh token. Inspect or end your session with:

stimulir whoami
stimulir logout

Select a workspace

Most commands are scoped to a workspace (business profile):

stimulir workspace list
stimulir workspace use <workspace-id>

Commands

API keys (hyb_* inference keys)

stimulir keys create --name cli --env prod --expires-in-days 90 --save
stimulir keys list --include-revoked
stimulir keys revoke <key-id>

The plaintext key is shown exactly once; --save stores it in ~/.stimulir/credentials.json so stimulir infer can use it.

BYOK provider credentials

Providers: openai, anthropic, google_gemini, mistral, aws_bedrock, azure_openai, together_ai, nebius.

stimulir byok add --provider anthropic --label "prod key"   # secret prompted without echo
stimulir byok list
stimulir byok verify <credential-id>
stimulir byok remove <credential-id>

Usage & billing

stimulir usage --window 30d --group-by model
stimulir billing snapshot

Inference

Uses a hyb_* API key (stimulir keys create --save or STIMULIR_API_KEY):

stimulir infer chat "Summarise IFRS 16 in one paragraph" --model hybrie-mid
stimulir infer chat "Write a haiku about ledgers" --model hybrie-small --stream

HybrIE lab (training + eval)

stimulir lab train sft --family qwen3-4b --lora-rank 8 --examples 500 --epochs 3 --lr 1e-4 --eval-examples 200 --seed 42 --checkpoint-dir runs/sft
stimulir lab train d2l --family qwen3-4b --examples 500 --epochs 3 --lr 1e-4 --eval-examples 200 --seed 42 --checkpoint-dir runs/d2l
stimulir lab train rl --family qwen3-4b --environment niah --prompts 64 --group-size 8 --policy hypernet --lr 1e-5 --kl-beta 0.05
stimulir lab jobs list
stimulir lab jobs get <job-id>
stimulir lab jobs cancel <job-id>
stimulir lab eval niah --family qwen3-4b --checkpoint-dir ~/hybrie-mounts/d2l-artifacts/<job>/checkpoint --examples 200 --seed 42
stimulir lab eval adapter --family qwen3-4b --adapter-dir ~/adapters/invoices-lora --examples 200 --seed 42
stimulir lab eval rl --family qwen3-4b --environment niah --policy hypernet --checkpoint-dir runs/rl/<job> --tasks 50 --pass-threshold 0.8
stimulir lab adapters list
stimulir lab adapters get <adapter-id>
stimulir lab adapters load <adapter-id>
stimulir lab adapters unload <adapter-id>

Compute (GPU offers + instances + peers)

stimulir compute offers
stimulir compute up <offer-id> --count 2
stimulir compute list
stimulir compute status <instance-id>
stimulir compute down <instance-id>
stimulir compute peers list
stimulir compute peers add --name lambda-a100 --grpc http://10.0.0.5:9090 --realtime http://10.0.0.5:8011
stimulir compute peers remove <peer-id>

Models

stimulir models

HybrIE routing

lab, compute, and models go through the console proxy ({api_base}/api/v1/hybrie/*, Supabase JWT + workspace header) by default. To talk to a HybrIE runtime directly, pass --endpoint http://host:port on any of those commands, or persist it in ~/.stimulir/config.json as hybrie_endpoint — requests then hit {endpoint}/v1/*.

Scripting

Every command accepts --json to emit the raw API response:

stimulir keys list --json | jq '.api_keys[].prefix'

Configuration reference

File Contents
~/.stimulir/config.json api_base, workspace_id, hybrie_endpoint, supabase_url, supabase_anon_key
~/.stimulir/credentials.json (0600) access_token, refresh_token, expires_at, email, optional api_key

Environment overrides: STIMULIR_API_BASE, STIMULIR_WORKSPACE_ID, STIMULIR_ACCESS_TOKEN, STIMULIR_API_KEY, SUPABASE_URL, SUPABASE_ANON_KEY.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stimulir-0.1.165.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stimulir-0.1.165-py3-none-any.whl (46.0 kB view details)

Uploaded Python 3

File details

Details for the file stimulir-0.1.165.tar.gz.

File metadata

  • Download URL: stimulir-0.1.165.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for stimulir-0.1.165.tar.gz
Algorithm Hash digest
SHA256 09aa06ede3e54fec31d560a894c9366d9e7a4860140f162d56ad94fc3efb02bb
MD5 ccb998203e9a109b0cf4310dfe9660da
BLAKE2b-256 7520c4ebcc114c49aabf5f5dbffe1861a62c0a24a41af670556b69f5e22a59a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for stimulir-0.1.165.tar.gz:

Publisher: release-all.yml on stimulir/stimulir-console

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file stimulir-0.1.165-py3-none-any.whl.

File metadata

  • Download URL: stimulir-0.1.165-py3-none-any.whl
  • Upload date:
  • Size: 46.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for stimulir-0.1.165-py3-none-any.whl
Algorithm Hash digest
SHA256 277c7ac19f5b7d63c4ef9bf21370ff6ce1bc729d5c27edf27765b154b5848d46
MD5 c631779f91aaf144ff6e40a2e5c86922
BLAKE2b-256 7ae36cf82d568418aedcfcdbffb67274665e2dea474a627b74c0e18c800c085f

See more details on using hashes here.

Provenance

The following attestation bundles were made for stimulir-0.1.165-py3-none-any.whl:

Publisher: release-all.yml on stimulir/stimulir-console

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page