Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Pyplines CLI

Deliver prepared automation and operate it through the public v1alpha1 Server API. The CLI needs neither Docker access nor the Action SDK.

pip install pyplines-cli
pyplines --server https://pyplines.example.com auth login --email you@example.com
pyplines --workspace operations init restart-payments --from ./maintenance.tar.gz --file production.yaml
# Edit production.yaml as needed.
pyplines --workspace operations deploy production.yaml
pyplines --workspace operations run restart-payments --input service=payments
pyplines --workspace operations logs restart-payments

For a fresh local development appliance, run from the repository root:

pyplines --server http://127.0.0.1:18085 bootstrap \
  --bootstrap-token-file .local/docker/pyplines-bootstrap-token
pyplines auth whoami
pyplines list

Bootstrap prompts for a Workspace, administrator email, and confirmed password, then saves the session and selects that Workspace. The CLI reads only the token file, never .local/docker/pyplines.env or other appliance settings. Supply the Server address with --server or PYPLINES_SERVER_URL. Bootstrap checks its status before prompting: if already complete, it reports that no changes were made and exits successfully. It never resets an existing installation.

For other installations, supply the token using --bootstrap-token-file or PYPLINES_BOOTSTRAP_TOKEN, or enter it at the hidden prompt. No token/password value flags are provided. For noninteractive use:

pyplines --server https://pyplines.example.com bootstrap \
  --email you@example.com --workspace operations \
  --bootstrap-token-file /secure/bootstrap-token \
  --password-file /secure/admin-password --json

Keep these input files private (for example, mode 0600 on Unix). Only the session is saved locally, not the bootstrap token or password. A lost connection can occur after bootstrap commits: try login before retrying. Successful initialization is not rolled back if saving the local session fails.

Password login creates a managed session under ~/.pyplines/credentials/. Passwords are not saved. Use PYPLINES_ACCESS_TOKEN for ServiceAccount automation, --json for structured output, and run -d for detached execution. auth logout revokes the saved session.

Requires the Docker v1alpha1 Server with migrations through 20260912000200.

Attached Runs print declared outputs after completion. Use pyplines runs inspect NAME NUMBER for operational details; execution phase observations are exported through the structured event system, not a deep diagnostics CLI view. Installation prepares all Action images before activation; pyplines repair NAME restores missing pinned images without upgrading. See installation readiness for registry configuration and recovery behavior. It does not support the retired Core/Project API. Upgrading the package replaces the old command surface; legacy credentials are not imported automatically.

pyplines version reports the installed CLI package version (including editable development suffixes) without connecting to the Server. Use pyplines version --json for structured output; this is the client version, not the Server version.

Commands: version, bootstrap, inspect, init, deploy, export, repair, uninstall, list, status, run, logs, runs list|wait|cancel, and auth login|whoami|logout. Configuration files use JSON-compatible YAML. Human-readable static text is the default; automation never encounters implicit prompts. Explicit login requires a terminal. Approvals and missing inputs are handled through authorized Page/API interactions, not CLI prompts.

See declarative deployments for registry trust, Workspace grants and the initialize/edit/deploy workflow.

See operation details for delivery semantics, limits, authentication, and qualification. Legacy client sources are historical reference only; releases contain the pyplines_client package.

Shared CLI behavior

Human mode is the default: Typer help and readable results, with Rich tables on interactive terminals. AUTOMATION_MODE=enabled or --json enables structured JSON output and disables prompts. Results go to stdout; errors and progress go to stderr. Streaming logs use newline-delimited JSON in automation mode. Use version or --version without a Server connection. Diagnostic exception types are available through --verbose-errors or PYPLINES_VERBOSE_ERRORS=true.

Fresh installations and saved sessions

Bootstrap defaults to Workspace default. Interactive password validation retries in place; automation must supply email, a password file, and a bootstrap token source. AUTOMATION_MODE=enabled never prompts and produces JSON output.

Sessions are bound to the Server URL and its database-backed installation ID. After a successful bootstrap/sign-in, the CLI atomically saves the verified session. Reinstalling at the same URL does not attempt to revoke a session from the previous installation. Sessions without an installation ID are not assumed to belong to the new installation. Failed sign-ins and concurrent session replacements preserve existing credentials. No automatic global credential pruning is performed.

Install from an OCI registry

pyplines inspect oci://ghcr.io/acme/maintenance:1.2.0
pyplines config oci://ghcr.io/acme/maintenance:1.2.0 > production.yaml
pyplines install oci://ghcr.io/acme/maintenance:1.2.0 --config-file production.yaml
pyplines upgrade restart-payments --dist oci://ghcr.io/acme/maintenance:1.3.0 --config-file production.yaml

All these commands also accept local archives. Registry references require an explicit tag or digest. Tags are resolved once per command; use the digest from inspect across commands when you need a fixed publication throughout review. The CLI verifies registry payload integrity; the Server independently verifies publisher trust before installing. Inspection does not imply publisher approval.

Registry downloads use direct HTTP APIs, not Docker. Credentials come from PYPLINES_REGISTRY_CONFIG_FILE or Docker-compatible configuration and helpers. Platform sessions and Action image-pull credentials remain separate. TLS is required; PYPLINES_REGISTRY_ALLOW_HTTP=localhost:5000 is an explicit local-test exception. Registry transport does not read .netrc or implicit proxy settings.

Download files

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

Source Distribution

pyplines_cli-2026.9.14a1.tar.gz (35.9 kB view details)

Uploaded Source

Built Distribution

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

pyplines_cli-2026.9.14a1-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

Details for the file pyplines_cli-2026.9.14a1.tar.gz.

File metadata

  • Download URL: pyplines_cli-2026.9.14a1.tar.gz
  • Upload date:
  • Size: 35.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyplines_cli-2026.9.14a1.tar.gz
Algorithm Hash digest
SHA256 851118a83f7bde1fdf20e8083ea32d10eee8dfeda0cfb4e039d9613434cde1bc
MD5 b78fa2f49c1c61ca4a93cccba8987126
BLAKE2b-256 db46c3b8e6e463ad36e7f97809fbf4b29a3007bef54a8aeb6d5ebdda2ba0b9dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplines_cli-2026.9.14a1.tar.gz:

Publisher: publish-release.yml on pyplines/pyplines

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

File details

Details for the file pyplines_cli-2026.9.14a1-py3-none-any.whl.

File metadata

File hashes

Hashes for pyplines_cli-2026.9.14a1-py3-none-any.whl
Algorithm Hash digest
SHA256 a45026896cecff81ac85800ba2b5863d73e1f7dece21dd39f4e990885185bbfc
MD5 84548f27c609e7714f64a3b8281b72bb
BLAKE2b-256 3dba0a652d76cc68788e5a5a1d1262e81db5277eb289f3703d629e0a4f7dc488

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplines_cli-2026.9.14a1-py3-none-any.whl:

Publisher: publish-release.yml on pyplines/pyplines

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

Release history Release notifications | RSS feed

This release

2026.9.14a1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page