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
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15427ea28517613979fdc45049e1f24fb7b07faf57381bd576e1c60824541768
|
|
| MD5 |
27ad442de67c1318ec06b9184e7f40b3
|
|
| BLAKE2b-256 |
13b27526afa15230229d25c4366bde466c22101b2134a28a80b61fadffaf71ec
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2a0e5ee7aa8f1b066818929bf978d13e8235d2d36d90e1c15d82deaa6b68d60
|
|
| MD5 |
e0d2801d2c2b2f3ac0d2cace32d8e472
|
|
| BLAKE2b-256 |
53303ebf1ffd43882ef64d0713ba796d3aae4210f1d6468a191f591e73e6e62c
|