Warpdrive
The data plane for a physicist's research, as a CLI that installs in one line and deploys nothing:
uv tool install warpdrive-cli # installs the `warpdrive` command
warpdrive # the manual — short, personalized, agent-readable
Before the first PyPI release — or for a lab tracking the branch — the same one line installs straight from the repo:
uv tool install git+https://github.com/warpdrive-inc/warpdrive
uv tool upgrade warpdrive-cli # picks up the latest commit / release
One command surface over the researcher's Google Drive, GitHub, Hugging
Face and Globus, the astronomy archives (MAST, IRSA, HEASARC, VizieR,
SIMBAD, NED), the literature (arXiv, INSPIRE-HEP, NASA ADS), Zenodo, their
Slurm cluster, and their own compute endpoints — with a persistent memory
layer and a provenance ledger, all in ~/.warpdrive/ on their machine.
warpdrive find 'muon calibration' # federated search; results carry refs
warpdrive read drive:1aB2c3 # one shape, wherever data lives
warpdrive write drive:root/out.csv --file out.csv
warpdrive move 'globus:A:/scratch/run01' 'globus:B:/~/run01' --recursive
warpdrive slurm check --site savio job.sh # catches the job that pends forever
warpdrive slurm submit --site perlmutter job.sh # sbatch via NERSC's API, no SSH
warpdrive exec --endpoint <id> 'python reprocess.py'
warpdrive write mem:me 'the good flats are in drive:1aB2c3'
Agents bootstrap from the briefing alone: tell any harness "run
warpdrive" (or warpdrive init --write AGENTS.md). Output is JSON on
stdout; errors are one JSON object on stderr — {code, message, retryable, hint} — and the hint is a concrete next step.
Connecting sources is the researcher's, once per machine, interactively:
warpdrive connect drive|github|globus|huggingface|nersc|zenodo|ads.
Credentials are encrypted at rest and never leave the machine; agents
cannot complete a connect flow, only ask for one.
About Drive, so it isn't a surprise. Warpdrive ships a Google "Desktop
app" OAuth client, whose secret Google's own guidance says is not
confidential — loopback plus PKCE is what secures the flow. That app is in
testing publishing status, so Google expires its refresh tokens after
seven days: expect to re-run warpdrive connect drive about weekly. It is
not a bug, and the needs_reauth error says as much. A lab that wants this
to stop can point Warpdrive at its own Google app — one that is Internal to
its Workspace org has no expiry clock and no user cap:
# ~/.warpdrive/env
WARPDRIVE_GOOGLE_CLIENT_ID=...apps.googleusercontent.com
WARPDRIVE_GOOGLE_CLIENT_SECRET=...
Layout
warpdrive/cli_main.py the argv layer — parse, dispatch, print
warpdrive/commands/ one module per command family; all judgment lives here
warpdrive/library/ domain clients, adapters, repositories, flows
warpdrive/models/ pydantic models
warpdrive/config/ settings (env + ~/.warpdrive/env)
warpdrive/store/ SQLite persistence under ~/.warpdrive/
There is no server, no database service, no worker: long-running work
(Globus transfers, NERSC jobs, compute tasks) is reconciled on read — the
sources remember the truth, and warpdrive jobs folds it in whenever
anyone asks.
Development: just test, just check, just run <args>. Rules and
architecture: AGENTS.md, then docs/.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file warpdrive_cli-0.2.0.tar.gz.
File metadata
- Download URL: warpdrive_cli-0.2.0.tar.gz
- Upload date:
- Size: 262.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4480f798db6f349bfc9d7bb5915dbc165d14d220699efb8237abb778c6139be
|
|
| MD5 |
903e32b51517b2eba467b6477fcbff16
|
|
| BLAKE2b-256 |
d210b4487811fd8bfa25836dc1ca8438251d6e8f33163f72dfef3a5e13e4f68d
|
Provenance
The following attestation bundles were made for warpdrive_cli-0.2.0.tar.gz:
Publisher:
publish.yml on warpdrive-inc/warpdrive
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
warpdrive_cli-0.2.0.tar.gz -
Subject digest:
c4480f798db6f349bfc9d7bb5915dbc165d14d220699efb8237abb778c6139be - Sigstore transparency entry: 2310487714
- Sigstore integration time:
-
Permalink:
warpdrive-inc/warpdrive@e0cadd15230cd8df231a7d081d90c8e6c2de92b3 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/warpdrive-inc
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e0cadd15230cd8df231a7d081d90c8e6c2de92b3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file warpdrive_cli-0.2.0-py3-none-any.whl.
File metadata
- Download URL: warpdrive_cli-0.2.0-py3-none-any.whl
- Upload date:
- Size: 270.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
918bc8cc228ca46d81eee05dd106966b393a65cc9c553bd873427e9004e7895c
|
|
| MD5 |
b7d07bc109afe7af243e2a615260418e
|
|
| BLAKE2b-256 |
acc4a8c269bf29a444722d6bcc8180426dedb46a50ef92c146b53322df128c14
|
Provenance
The following attestation bundles were made for warpdrive_cli-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on warpdrive-inc/warpdrive
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
warpdrive_cli-0.2.0-py3-none-any.whl -
Subject digest:
918bc8cc228ca46d81eee05dd106966b393a65cc9c553bd873427e9004e7895c - Sigstore transparency entry: 2310487723
- Sigstore integration time:
-
Permalink:
warpdrive-inc/warpdrive@e0cadd15230cd8df231a7d081d90c8e6c2de92b3 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/warpdrive-inc
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e0cadd15230cd8df231a7d081d90c8e6c2de92b3 -
Trigger Event:
push
-
Statement type: