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.2.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.2-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: prosi_psi_cli-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 3d05186a521b57c6d8f85d3337ffed0d1dcaed0633e0e93d7cf8de29444798ab
MD5 9954e0c6ba5ce2f0a5f05c4d23cb215f
BLAKE2b-256 85f2ef68530bf6e57ba7b44a29e9b8acf5dfee452bde710fde96570b9cbad01c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: prosi_psi_cli-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0054f368825a79918c78904e2cebcc34a08fdc82f61b819c17b3e7f71cd75b40
MD5 787c79239561dca122863054be94d961
BLAKE2b-256 6c40302445353dd43da678a076e39b44765fae1d073d837c986787c01494905e

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