Skip to main content

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 stderr with:
    • error.code
    • error.message
    • error.details

Commands

Strategy

  • psa strategy upsert --strategy-id <id> --input <path|-> --json
  • psa strategy list --json
  • psa strategy show --strategy-id <id> --json
  • psa strategy exists --strategy-id <id> --json

Log

  • psa log append --strategy-id <id> --input <path|-> --json
  • psa log list --strategy-id <id> [--limit <n>] [--from-ts <ts>] [--to-ts <ts>] --json
  • psa log show --strategy-id <id> --log-id <id> --json
  • psa 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: success
  • 2: CLI argument error
  • 3: I/O or JSON parsing error
  • 4: validation/domain/storage error
  • 1: unexpected internal error

Schema loading

CLI searches request schemas in this order:

  1. PSA_SCHEMA_DIR (if set)
  2. packaged schemas bundled inside the installed psa-strategy-cli distribution
  3. 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

psa_strategy_cli-0.1.1.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

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

psa_strategy_cli-0.1.1-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

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

Hashes for psa_strategy_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 392ed8391da65e8c40f2956a1ce308858bf2a5fed0cca5d56a9e30c2aa692d1e
MD5 16eaf79dd8b86c02c7a4238384b8cbad
BLAKE2b-256 fa2bd06efa36eb9a66c3c4cbbaddfdc10fb6c7c862ecf66c94564c236bd979bb

See more details on using hashes here.

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

Hashes for psa_strategy_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f8f4396fedf337add772996a56c41eecc5b6b2de7a6e6ace8ce06af8f51babf4
MD5 37ac100027ff8da6ed2f56393ced7e48
BLAKE2b-256 58c840fd18452e090df38ff91d8b58c41fbca1e4adf39df5554adacaebae8246

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page