Skip to main content

Tamarind CLI

License: Apache 2.0 Python

Command-line interface for the Tamarind Bio platform. Discover tools, submit and monitor protein / nucleic-acid / small-molecule jobs, and download results — from your terminal, a script, CI, or an AI coding agent (Claude Code, Codex, …).

The CLI is a thin client over the same API the Tamarind MCP server uses, so the two stay in lockstep. See docs/architecture.md for how drift is prevented.

Install

uv tool install tamarind-cli      # or: pipx install tamarind-cli

Or with the bootstrap installer (uses uv, pipx, or Python/pip already on your PATH):

curl -fsSL https://app.tamarind.bio/cli/install.sh | sh

To track the repo directly instead of the PyPI release:

uv tool install "git+https://github.com/Tamarind-Bio/tamarind-cli"
# or: pipx install "git+https://github.com/Tamarind-Bio/tamarind-cli"

Releasing: tag a GitHub Release and the publish.yml workflow builds and uploads to PyPI via Trusted Publishing (configure the trusted publisher for tamarind-cli on PyPI first).

Authenticate

Get an API key from the Tamarind web app (Settings → API), then either:

export TAMARIND_API_KEY="sk_..."      # best for agents / CI
# or
tamarind auth login                    # stores it in ~/.tamarind/config.json
tamarind auth status

Quickstart

# 1. Find a tool
tamarind tools --function structure-prediction --modality protein
tamarind tools --search boltz

# 2. Inspect its parameters and grab a runnable example
tamarind schema boltz
tamarind schema boltz --example > job.yaml   # most tools ship an example; some don't

# 3. Validate, then submit
tamarind validate boltz --input job.yaml
tamarind submit boltz --input job.yaml --name my-run \
  --wait --timeout 3600 --download ./out

# 4. Monitor / fetch
tamarind jobs
tamarind status my-run
tamarind results my-run --download ./out

Set individual fields inline instead of a file:

tamarind submit boltz \
  --set inputFormat=sequence \
  --set sequence=MKTVRQERLKSIVRIL... \
  --name quick-fold

Output for agents

Every command emits JSON when stdout is not a TTY, or with --json. Result documents are written to stdout. Typed command, transport, and usage errors are written to stderr as {"error":{"type":...,"message":...,"exitCode":...,"detail":...}}; detail is omitted when unavailable. A domain verdict can deliberately combine a nonzero exit with a result document: invalid validate output remains on stdout with exit 5, and a terminal unsuccessful job remains on stdout with exit 9 so callers can inspect its status. Exit codes are stable: 0 ok, 1 generic failure, 2 usage, 3 auth, 4 not-found, 5 validation, 6 rate-limit, 7 timeout (a bounded wait elapsed while the remote job may still run), 8 budget/quota exhaustion, and 9 remote job failure.

For agent workflows, always put a deadline on blocking commands. submit --wait and results --wait accept --timeout; the standalone wait command remains the easiest way to reattach to a durable job name.

Starting in 0.2, results requires --download DIR by default and never prints a presigned URL implicitly. This intentional safety boundary is why the release uses a new pre-1.0 minor version. The explicit --show-url escape hatch returns a credential-bearing, short-lived URL; do not use it in agent, CI, or shared logs.

Not every tool ships a runnable example — schema <tool> --example exits non-zero (with a clear message) when one isn't available, so a > job.yaml redirect never silently produces an empty file. Destructive commands (delete, files delete) require --yes/-y when run non-interactively (piped or --json), so an agent never removes data without an explicit confirmation.

tamarind --json jobs | jq '.jobs[] | select(.JobStatus=="Running")'

--json, --profile, and the endpoint/auth overrides are global options, so place them before the command name.

Commands

Group Commands
Discover tools, modalities, functions, schema
Submit validate, submit, batch
Monitor jobs, status, wait, results, logs
Files files list, files stats, files upload, files delete, files folders
Lifecycle cancel, delete
Auth auth login, auth status, auth logout

Run tamarind <command> --help for full options.

Configuration

Setting Flag Env var Default
API key --api-key TAMARIND_API_KEY
Job API base --api-base TAMARIND_API_BASE https://app.tamarind.bio/api/
Catalog base --catalog-base TAMARIND_CATALOG_BASE https://mcp.tamarind.bio
Profile --profile TAMARIND_PROFILE default

Profiles (key + endpoints) are stored in ~/.tamarind/config.json. Use a profile to point at staging:

tamarind --profile staging --api-base https://staging.tamarind.bio/api/ auth login
TAMARIND_PROFILE=staging tamarind tools

Links

  • CLI docs — the hosted quickstart and command reference
  • MCP server — the hosted option for claude.ai, ChatGPT, and other MCP clients
  • API key — get your key and review rate limits

Questions or need help? Contact us at info@tamarind.bio.

License

Licensed under the Apache License 2.0.

Download files

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

Source Distribution

tamarind_cli-0.2.0.tar.gz (73.5 kB view details)

Uploaded Source

Built Distribution

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

tamarind_cli-0.2.0-py3-none-any.whl (44.5 kB view details)

Uploaded Python 3

File details

Details for the file tamarind_cli-0.2.0.tar.gz.

File metadata

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

File hashes

Hashes for tamarind_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 26d66094cf974ffb6b257c30a2c94b442ecaaa5eda85f6e28905774286a0ef25
MD5 f3d7e11d0ef596fef26f35e8d4b4abb3
BLAKE2b-256 3b2e3c1a6ffd23af82281c8fe84238166eb8a0001f1dc730e6814799ff0a1f77

See more details on using hashes here.

Provenance

The following attestation bundles were made for tamarind_cli-0.2.0.tar.gz:

Publisher: publish.yml on Tamarind-Bio/tamarind-cli

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

File details

Details for the file tamarind_cli-0.2.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for tamarind_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 828dcc935bc7ffd24a3772dc367ce090cd0e2ea0925bb5daa7d6dd0f52675aaa
MD5 45ca6145175a90165806d095656c59a5
BLAKE2b-256 92ba972c96b3cc4e334efcae5632ea785ad30b7dc5b66d8b2b9eb02b02fd8049

See more details on using hashes here.

Provenance

The following attestation bundles were made for tamarind_cli-0.2.0-py3-none-any.whl:

Publisher: publish.yml on Tamarind-Bio/tamarind-cli

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

Release history Release notifications | RSS feed

0.3.1

2 files

0.3.0

2 files

This release

0.2.0 This release

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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