tamarind-cli 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tamarind/__init__.py +16 -0
- tamarind/catalog.py +70 -0
- tamarind/cli/__init__.py +1 -0
- tamarind/cli/commands/__init__.py +1 -0
- tamarind/cli/commands/auth.py +90 -0
- tamarind/cli/commands/catalog.py +114 -0
- tamarind/cli/commands/files.py +113 -0
- tamarind/cli/commands/jobs.py +311 -0
- tamarind/cli/inputs.py +115 -0
- tamarind/cli/main.py +122 -0
- tamarind/cli/output.py +68 -0
- tamarind/config.py +152 -0
- tamarind/errors.py +59 -0
- tamarind/http.py +160 -0
- tamarind/jobs.py +106 -0
- tamarind/rest.py +192 -0
- tamarind_cli-0.1.0.dist-info/METADATA +131 -0
- tamarind_cli-0.1.0.dist-info/RECORD +20 -0
- tamarind_cli-0.1.0.dist-info/WHEEL +4 -0
- tamarind_cli-0.1.0.dist-info/entry_points.txt +2 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tamarind-cli
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Command-line interface for the Tamarind Bio platform — submit, monitor, and download protein/molecule jobs from your terminal or an AI agent.
|
|
5
|
+
Project-URL: Homepage, https://tamarind.bio
|
|
6
|
+
Project-URL: Documentation, https://app.tamarind.bio/api-docs
|
|
7
|
+
Project-URL: Source, https://github.com/Tamarind-Bio/tamarind-cli
|
|
8
|
+
Author: Tamarind Bio
|
|
9
|
+
License: MIT
|
|
10
|
+
Keywords: agents,alphafold,bioinformatics,boltz,cli,protein
|
|
11
|
+
Requires-Python: >=3.10
|
|
12
|
+
Requires-Dist: httpx>=0.27
|
|
13
|
+
Requires-Dist: pyyaml>=6.0
|
|
14
|
+
Requires-Dist: typer>=0.12
|
|
15
|
+
Provides-Extra: dev
|
|
16
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
17
|
+
Requires-Dist: respx>=0.21; extra == 'dev'
|
|
18
|
+
Requires-Dist: ruff>=0.5; extra == 'dev'
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
|
|
21
|
+
# Tamarind CLI
|
|
22
|
+
|
|
23
|
+
Command-line interface for the [Tamarind Bio](https://tamarind.bio) platform.
|
|
24
|
+
Discover tools, submit and monitor protein / nucleic-acid / small-molecule jobs,
|
|
25
|
+
and download results — from your terminal, a script, CI, or an AI coding agent
|
|
26
|
+
(Claude Code, Codex, …).
|
|
27
|
+
|
|
28
|
+
The CLI is a thin client over the same API the [Tamarind MCP
|
|
29
|
+
server](https://mcp.tamarind.bio) uses, so the two stay in lockstep. See
|
|
30
|
+
[`docs/architecture.md`](docs/architecture.md) for how drift is prevented.
|
|
31
|
+
|
|
32
|
+
## Install
|
|
33
|
+
|
|
34
|
+
Once published to PyPI:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
curl -fsSL https://install.tamarind.bio/cli/install.sh | sh
|
|
38
|
+
# or:
|
|
39
|
+
uv tool install tamarind-cli # or: pipx install tamarind-cli
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Before then (or to track the repo directly), install from git:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
uv tool install "git+https://github.com/Tamarind-Bio/tamarind-cli"
|
|
46
|
+
# or: pipx install "git+https://github.com/Tamarind-Bio/tamarind-cli"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
> Releasing: tag a GitHub Release and the [`publish.yml`](.github/workflows/publish.yml)
|
|
50
|
+
> workflow builds and uploads to PyPI via Trusted Publishing (configure the
|
|
51
|
+
> trusted publisher for `tamarind-cli` on PyPI first).
|
|
52
|
+
|
|
53
|
+
## Authenticate
|
|
54
|
+
|
|
55
|
+
Get an API key from the Tamarind web app (Settings → API), then either:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
export TAMARIND_API_KEY="sk_..." # best for agents / CI
|
|
59
|
+
# or
|
|
60
|
+
tamarind auth login # stores it in ~/.tamarind/config.json
|
|
61
|
+
tamarind auth status
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Quickstart
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# 1. Find a tool
|
|
68
|
+
tamarind tools --function structure-prediction --modality protein
|
|
69
|
+
tamarind tools --search boltz
|
|
70
|
+
|
|
71
|
+
# 2. Inspect its parameters and grab a runnable example
|
|
72
|
+
tamarind schema boltz
|
|
73
|
+
tamarind schema boltz --example > job.yaml
|
|
74
|
+
|
|
75
|
+
# 3. Validate, then submit
|
|
76
|
+
tamarind validate boltz --input job.yaml
|
|
77
|
+
tamarind submit boltz --input job.yaml --name my-run --wait --download ./out
|
|
78
|
+
|
|
79
|
+
# 4. Monitor / fetch
|
|
80
|
+
tamarind jobs
|
|
81
|
+
tamarind status my-run
|
|
82
|
+
tamarind results my-run --download ./out
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Set individual fields inline instead of a file:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
tamarind submit boltz \
|
|
89
|
+
--set inputFormat=sequence \
|
|
90
|
+
--set sequence=MKTVRQERLKSIVRIL... \
|
|
91
|
+
--name quick-fold
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Output for agents
|
|
95
|
+
|
|
96
|
+
Every command emits JSON when stdout is not a TTY, or with `--json`. Exit codes
|
|
97
|
+
are stable: `0` ok, `3` auth, `4` not-found, `5` validation, `6` rate-limit.
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
tamarind jobs --json | jq '.jobs[] | select(.JobStatus=="Running")'
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Commands
|
|
104
|
+
|
|
105
|
+
| Group | Commands |
|
|
106
|
+
|---|---|
|
|
107
|
+
| Discover | `tools`, `modalities`, `functions`, `schema` |
|
|
108
|
+
| Submit | `validate`, `submit`, `batch` |
|
|
109
|
+
| Monitor | `jobs`, `status`, `wait`, `results`, `logs` |
|
|
110
|
+
| Files | `files list`, `files upload`, `files delete`, `files folders` |
|
|
111
|
+
| Lifecycle | `cancel`, `delete` |
|
|
112
|
+
| Auth | `auth login`, `auth status`, `auth logout` |
|
|
113
|
+
|
|
114
|
+
Run `tamarind <command> --help` for full options.
|
|
115
|
+
|
|
116
|
+
## Configuration
|
|
117
|
+
|
|
118
|
+
| Setting | Flag | Env var | Default |
|
|
119
|
+
|---|---|---|---|
|
|
120
|
+
| API key | `--api-key` | `TAMARIND_API_KEY` | — |
|
|
121
|
+
| Job API base | `--api-base` | `TAMARIND_API_BASE` | `https://app.tamarind.bio/api/` |
|
|
122
|
+
| Catalog base | `--catalog-base` | `TAMARIND_CATALOG_BASE` | `https://mcp.tamarind.bio` |
|
|
123
|
+
| Profile | `--profile` | `TAMARIND_PROFILE` | `default` |
|
|
124
|
+
|
|
125
|
+
Profiles (key + endpoints) are stored in `~/.tamarind/config.json`. Use a
|
|
126
|
+
profile to point at staging:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
tamarind --profile staging --api-base https://staging.tamarind.bio/api/ auth login
|
|
130
|
+
TAMARIND_PROFILE=staging tamarind tools
|
|
131
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
tamarind/__init__.py,sha256=Wd1r2m8FMiy1PR5J6tamVNJ-0w2Ohs2KmfLYWfveTBI,707
|
|
2
|
+
tamarind/catalog.py,sha256=5kJZsRmp7ot_cNf0aok36aPAlr7pL3JqUeTfyScWRS0,2364
|
|
3
|
+
tamarind/config.py,sha256=5Z1xECYk3ydsB0ZNZftCuAK9-DMh2UXT5xeNpf2oRZY,4399
|
|
4
|
+
tamarind/errors.py,sha256=RlqiQj6yCvXbHLfd_Ep7Nmn43nz9vj2cNDo6MZpmDoA,1437
|
|
5
|
+
tamarind/http.py,sha256=gJmeK4d8YSKYnJakI-X-sJRe3CF2POi_AtbxowjfzjQ,5127
|
|
6
|
+
tamarind/jobs.py,sha256=WgqNfhNZyjzYJj8JfQ7gxp1aFA2LNg26E-x6dv2vp0Y,3360
|
|
7
|
+
tamarind/rest.py,sha256=uRu189DlI6ntcQy__dWQVMCUoAGHIT2JfIvNWIFkvSg,6074
|
|
8
|
+
tamarind/cli/__init__.py,sha256=Lq30AODa0cmKz24VuAgXQ-CAXTQ8EkvP06oJymTgY3U,49
|
|
9
|
+
tamarind/cli/inputs.py,sha256=wChHGxRju5aENyUcVHpcrb2TJ6SAHfuzeIOeefxFFhA,3536
|
|
10
|
+
tamarind/cli/main.py,sha256=1zOhM5D4V5TTuRHeRDOZ8h0tZj66e4FnI7m9v9wzU2g,3905
|
|
11
|
+
tamarind/cli/output.py,sha256=1SEcWNcEHFoJW1vtbH7RPdoAEwwS1RnYWQYTzCkq0i0,1997
|
|
12
|
+
tamarind/cli/commands/__init__.py,sha256=Rb-d2e6JpWZ5pPUP-TjKMWGtNCwpZCMYc0GulfEXbRs,26
|
|
13
|
+
tamarind/cli/commands/auth.py,sha256=mbm9Tr98PKNZmiflFCELfPq8jVgwnzudxKG7gyZtsDk,2784
|
|
14
|
+
tamarind/cli/commands/catalog.py,sha256=tKfitlfitpXcvUfEUhRLBba3mRs7JA3XIE9pxLQjKc8,4644
|
|
15
|
+
tamarind/cli/commands/files.py,sha256=Kunvn3VbEMvHS9epZGtpF4GcvzqYluBfhwUAFcgoi-g,4536
|
|
16
|
+
tamarind/cli/commands/jobs.py,sha256=2-tIirj5p9MQdl0aK5RwZHsDZtxTNj3ngT1Sn9GN_mA,14728
|
|
17
|
+
tamarind_cli-0.1.0.dist-info/METADATA,sha256=4hk89JwXFBXwU2VwPnqllB841nvXvacKimuS7vw8gIw,4123
|
|
18
|
+
tamarind_cli-0.1.0.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
|
|
19
|
+
tamarind_cli-0.1.0.dist-info/entry_points.txt,sha256=XIVPkDzkzJ2QSZIC4YeSqQl8AIkCg2Lgr5CSAlnobCY,51
|
|
20
|
+
tamarind_cli-0.1.0.dist-info/RECORD,,
|