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.10a2.tar.gz (115.6 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.10a2-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file pyplines_cli-2026.9.10a2.tar.gz.

File metadata

  • Download URL: pyplines_cli-2026.9.10a2.tar.gz
  • Upload date:
  • Size: 115.6 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.10a2.tar.gz
Algorithm Hash digest
SHA256 ae76d512a0517c820d667fd732ea943cf97c9e2ae10f4077bef7d056a7883cd1
MD5 f842391b2d542733bdd1f2f09b5bb6f0
BLAKE2b-256 d72a26528c8689a041ce31661e959faa38e30edc0aa3185653c32b26fa30774f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplines_cli-2026.9.10a2.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.10a2-py3-none-any.whl.

File metadata

File hashes

Hashes for pyplines_cli-2026.9.10a2-py3-none-any.whl
Algorithm Hash digest
SHA256 a6c87025454c16a8c5e904c2bf33d9deac2c9d2bce4b6e7ad970129768dceb06
MD5 45df14a258a6c433aba058ff86390ba2
BLAKE2b-256 d80808c01d1513eb9aa1593709577aab71a606dd12e758887826ab5bb4628f8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplines_cli-2026.9.10a2-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.10a2 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