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.2.tar.gz (23.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.2-py3-none-any.whl (31.0 kB view details)

Uploaded Python 3

File details

Details for the file psa_strategy_cli-0.1.2.tar.gz.

File metadata

  • Download URL: psa_strategy_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 23.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.2.tar.gz
Algorithm Hash digest
SHA256 a9ef2ac71c4a2bae5c627cf9e9f84d0b1c050f3016d59c878f16ce01ded8b3a9
MD5 5a72c59aa9b610024d2140a8b2d90880
BLAKE2b-256 7269613b7b0c56ec7811c27d4e8401301e5c0303ce321396bc8a40bb502d023d

See more details on using hashes here.

File details

Details for the file psa_strategy_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: psa_strategy_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 31.0 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8cdf367475878caea8597afa3d56ad8dc2d1d53cf23e3f116a06000a1d73b816
MD5 c8879d4b1e3d1616f6c9d351da499e59
BLAKE2b-256 0e95a6497c2f71d5d280205e27b6a17f4a0c0424d40478be8d61c0caae2a5ff1

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