CLI for PSA workspace
Project description
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]
- 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)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file psa_strategy_cli-0.1.1.tar.gz.
File metadata
- Download URL: psa_strategy_cli-0.1.1.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
392ed8391da65e8c40f2956a1ce308858bf2a5fed0cca5d56a9e30c2aa692d1e
|
|
| MD5 |
16eaf79dd8b86c02c7a4238384b8cbad
|
|
| BLAKE2b-256 |
fa2bd06efa36eb9a66c3c4cbbaddfdc10fb6c7c862ecf66c94564c236bd979bb
|
File details
Details for the file psa_strategy_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: psa_strategy_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8f4396fedf337add772996a56c41eecc5b6b2de7a6e6ace8ce06af8f51babf4
|
|
| MD5 |
37ac100027ff8da6ed2f56393ced7e48
|
|
| BLAKE2b-256 |
58c840fd18452e090df38ff91d8b58c41fbca1e4adf39df5554adacaebae8246
|