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.3.0.tar.gz (277.8 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.3.0-py3-none-any.whl (283.9 kB view details)

Uploaded Python 3

File details

Details for the file warpdrive_cli-0.3.0.tar.gz.

File metadata

  • Download URL: warpdrive_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 277.8 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.3.0.tar.gz
Algorithm Hash digest
SHA256 56bdfe831d1318846a494288cadd103ce9f2e43fa4c2e8c5147559d074d44140
MD5 9913b91d07e7ca87d7668acf11ea30f5
BLAKE2b-256 a69cefbacb49aeb30bf7546cf09998d758a1aafb10d5f09140a089f1e17c3b63

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpdrive_cli-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: warpdrive_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 283.9 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3dcb8652cddd5b718018e6ec5d548da3b089f4f276d927afc5de974d7dfed5c1
MD5 41d55e4f240f843c9c939327dc39e479
BLAKE2b-256 28e98559695651abc819ef4cb64d4c239ea257ed3816f99b320b2265e61c6eba

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpdrive_cli-0.3.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