Skip to main content

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

warpdrive_cli-0.2.0.tar.gz (262.0 kB view details)

Uploaded Source

Built Distribution

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

warpdrive_cli-0.2.0-py3-none-any.whl (270.7 kB view details)

Uploaded Python 3

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

Hashes for warpdrive_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c4480f798db6f349bfc9d7bb5915dbc165d14d220699efb8237abb778c6139be
MD5 903e32b51517b2eba467b6477fcbff16
BLAKE2b-256 d210b4487811fd8bfa25836dc1ca8438251d6e8f33163f72dfef3a5e13e4f68d

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on warpdrive-inc/warpdrive

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

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

Hashes for warpdrive_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 918bc8cc228ca46d81eee05dd106966b393a65cc9c553bd873427e9004e7895c
MD5 b7d07bc109afe7af243e2a615260418e
BLAKE2b-256 acc4a8c269bf29a444722d6bcc8180426dedb46a50ef92c146b53322df128c14

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on warpdrive-inc/warpdrive

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