Skip to main content

User-facing PSI command line tools.

Project description

Psi CLI

psi is the user-facing command line for setting up and running PSI packages locally.

Install

python -m pip install prosi-psi-cli psihub lllm-core sssn

For OS keyring storage, install the optional secure extra:

python -m pip install "prosi-psi-cli[secure]"

Initialize Local Credentials

Packages can declare launch-time API key requirements in psi.toml:

[requirements.api_keys]
OPENAI_API_KEY = "OpenAI-compatible model access."
ANTHROPIC_API_KEY = "Claude model access."

psi init checks the selected package and guides setup:

psi init packages/analyst-tactics

By default, psi uses the OS keyring when available and falls back to a local .env.local file. You can choose explicitly:

psi init packages/analyst-tactics --credentials keyring
psi init packages/analyst-tactics --credentials env --env-file .env.local

For scripts or CI setup, pass values without echoing them back in command output:

psi init packages/analyst-tactics \
  --credentials env \
  --env-file .env.local \
  --set OPENAI_API_KEY=sk-...

Common provider names follow the usual Python ecosystem conventions: OPENAI_API_KEY, ANTHROPIC_API_KEY, TOGETHER_API_KEY, GEMINI_API_KEY, GROQ_API_KEY, MISTRAL_API_KEY, OPENROUTER_API_KEY, COHERE_API_KEY, HF_TOKEN, TAVILY_API_KEY, and EXA_API_KEY.

Launch A Package

Download a package folder, then launch its primary resource as a FastAPI service:

psi launch packages/analyst-tactics --port 8000

Before importing package code, psi launch checks declared API key requirements. It reads values from the current process environment, the local env file selected with --env-file, and the OS keyring unless --no-keyring is set. Missing keys are reported with a psi init hint.

The launcher reads psi.toml and serves the package's primary resource:

  • tactics.* resources become LLLM FastAPI tactic services with /run;
  • services.* resources use their FastAPI entrypoint, or fall back to the service's declared tactic when present;
  • channels.* resources become SSSN store services with /channels, /events, /subscriptions, /artifacts, and /snapshots.

Inspect what will be served without starting the server:

psi inspect packages/analyst-tactics

psi inspect --json includes API key readiness without printing secret values.

Launch a specific resource when a package has several services:

psi launch packages/society-sentinel --resource services.sentinel_api --port 8130

Direct Python entrypoints work too:

psi launch my_package.service:create_app --port 8000

psi launch is intentionally a local server starter. PsiHub owns package validation, cards, downloads, and metadata; AAAX owns higher-level strategy composition.

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

prosi_psi_cli-0.1.1.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

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

prosi_psi_cli-0.1.1-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file prosi_psi_cli-0.1.1.tar.gz.

File metadata

  • Download URL: prosi_psi_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for prosi_psi_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 15427ea28517613979fdc45049e1f24fb7b07faf57381bd576e1c60824541768
MD5 27ad442de67c1318ec06b9184e7f40b3
BLAKE2b-256 13b27526afa15230229d25c4366bde466c22101b2134a28a80b61fadffaf71ec

See more details on using hashes here.

File details

Details for the file prosi_psi_cli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: prosi_psi_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for prosi_psi_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e2a0e5ee7aa8f1b066818929bf978d13e8235d2d36d90e1c15d82deaa6b68d60
MD5 e0d2801d2c2b2f3ac0d2cace32d8e472
BLAKE2b-256 53303ebf1ffd43882ef64d0713ba796d3aae4210f1d6468a191f591e73e6e62c

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