psa-strategy-cli
AI-first command-line interface for PSA strategy storage, logs, and evaluation.
Package/install name: psa-strategy-cli
Command name: psa
Quick start (published package)
Run without installing:
uvx --from psa-strategy-cli psa --version
Install as a tool:
uv tool install psa-strategy-cli
psa --version
Workspace development mode
Run commands from the cli/ directory:
cd cli
Storage model
The CLI persists state inside the current working directory:
.psa/strategies/<strategy_id>/strategy.json.psa/strategies/<strategy_id>/log.ndjson
Directories are created automatically on first write.
JSON mode
All operational commands require --json.
- Success: JSON payload in output stream.
- Error: JSON payload in
stderrwith:error.codeerror.messageerror.details
Commands
Strategy
psa strategy upsert --strategy-id <id> --input <path|-> --jsonpsa strategy list --jsonpsa strategy show --strategy-id <id> --jsonpsa strategy exists --strategy-id <id> --json
Log
psa log append --strategy-id <id> --input <path|-> --jsonpsa log list --strategy-id <id> [--limit <n>] [--from-ts <ts>] [--to-ts <ts>] --jsonpsa log show --strategy-id <id> --log-id <id> --jsonpsa log tail --strategy-id <id> --limit <n> --json
Evaluate (strategy loaded from storage)
psa evaluate-point --strategy-id <id> --input <path|-> --output <path|-> --json [--pretty]psa evaluate-rows --strategy-id <id> --input <path|-> --output <path|-> --json [--pretty]psa evaluate-ranges --strategy-id <id> --input <path|-> --output <path|-> --json [--pretty]
Skill install
psa install-skill <runtime> [--skills-dir /path/to/skills-dir] [--agents-dir /path/to/agents-dir] --json- unknown runtime fallback:
psa install-skill any-runtime --skills-dir /path/to/skills-dir --json
- means standard stream (stdin for --input, stdout for --output).
Examples
Create strategy
cat strategy.json | uv run --package psa-strategy-cli psa strategy upsert \
--strategy-id main --input - --json
Append log entry
echo '{"event":"thesis_updated","note":"reduced risk"}' | \
uv run --package psa-strategy-cli psa log append \
--strategy-id main --input - --json
Evaluate point using persisted strategy
echo '{"timestamp":"2026-01-01T00:00:00Z","price":45000}' | \
uv run --package psa-strategy-cli psa evaluate-point \
--strategy-id main --input - --output - --json
Exit codes
0: success2: CLI argument error3: I/O or JSON parsing error4: validation/domain/storage error1: unexpected internal error
Schema loading
CLI searches request schemas in this order:
PSA_SCHEMA_DIR(if set)- packaged schemas bundled inside the installed
psa-strategy-clidistribution - repository
schemas/directory (development fallback)
Metadata
Release files for psa-strategy-cli 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| psa_strategy_cli-0.1.3.tar.gz | 25.1 kB | Without provenance | Details for psa_strategy_cli-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| psa_strategy_cli-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for psa_strategy_cli-0.1.3-py3-none-any.whl |
Total release size: 57.9 kB
Release files / psa_strategy_cli-0.1.3.tar.gz
| Download URL | psa_strategy_cli-0.1.3.tar.gz |
|---|---|
| Size | 25.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e61680c2b6d48d538fba77b706b20968895063c8e3dfb456efe3a750d81cd390
|
|
BLAKE2b-256 checksum How to use checksums |
ba9d49c74dec0e2efb0bfd67b8cf7583f2425dd76deef41483af47445150a8a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / psa_strategy_cli-0.1.3-py3-none-any.whl
| Download URL | psa_strategy_cli-0.1.3-py3-none-any.whl |
|---|---|
| Size | 32.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
96230f10299a54063a06ed7508efb6cf63f17c18645ed8ddedb2962b254a83a8
|
|
BLAKE2b-256 checksum How to use checksums |
9df9afedc2169d39bdb70030ec9ebd2ab6445044ff88b0585efbf2c12b3a42e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for psa-strategy-cli 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.