Metadata-Version: 2.4
Name: pyplines-test
Version: 2026.9.13a2
Summary: Test and benchmark deployed Pyplines
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: pyplines-cli-common>=2026.9.13a2

# pyplines-test

Test deployed Pyplines through the public API. Authentication and connection
selection use the session saved by `pyplines auth login`, or the standard
`PYPLINES_SERVER_URL`, `PYPLINES_WORKSPACE`, and `PYPLINES_ACCESS_TOKEN` variables.
Explicit global `--server` and `--workspace` flags override saved settings.

```sh
pyplines-test version
pyplines-test run tests/hello-world.yaml
pyplines-test run tests/ --report results.json
AUTOMATION_MODE=enabled pyplines-test run tests/hello-world.yaml
```

Cases target existing, ready Pyplines. They do not build or deploy resources.
All selected cases are preflighted before execution. Test workloads have real
side effects: only use suitable Actions. Load/stress concurrency is outstanding
Runs, not requests per second. Interruptions/timeouts do not cancel remote Runs.

See `examples/v1alpha1/tests` and specification 0310 for the canonical documents
and report semantics. Place only cases you intend to execute in a selected directory.

Reports contain versions, immutable identities, timing and outcome codes—not
inputs, output values, logs or credentials. Server/executor identities are a
preflight snapshot; unavailable executor metadata remains explicit. This is not
per-Run binary attestation. Action image digests identify executable content;
SDK/Python versions cannot be inferred from an Action version alone.

Development: `uv run --project apps/test pytest -q apps/test/tests`.
Live installed-wheel smoke:
`python3 tooling/qualification/qualify-v1alpha1-client.py --docker --test-tool-only`.
Worker connections are reused; concurrency is bounded without CLI subprocesses
or Run-state polling. End-to-end measurements still include network/observation
cost and are not equivalent to Action execution duration.
PyPI publication requires a trusted publisher for `pyplines-test`, workflow
`publish-release.yml`, environment `pypi`, just like the other packages.
