PsiSDK
psi-sdk is the thin umbrella package for the PSI ecosystem. It installs the
independently adoptable component packages, exposes the framework modules under
one Python namespace, and includes PsiCLI's user-facing psi command:
python -m pip install psi-sdk
For OS keyring-backed credential storage in PsiCLI, install:
python -m pip install "psi-sdk[secure]"
import psi
assert psi.lllm is __import__("lllm")
assert psi.sssn is __import__("sssn")
assert psi.aaax is __import__("aaax")
assert psi.hub is __import__("psihub")
The SDK does not replace the component packages. It is an all-in-one station for
projects that want the full PSI workflow in one install. Light adopters can
still install and import lllm-core, sssn, aaax, psihub, or
prosi-psi-cli directly. PsiCLI is installed by the SDK, but remains the
top-level command interface for humans and scripts rather than a framework
module under psi.
The canonical source for this page lives in the psisdk repository; this hosted
copy keeps the central Psi docs navigable at prosi.io/docs/sdk/.
What It Installs
| SDK alias | Package | Role | Main docs |
|---|---|---|---|
psi.sssn |
sssn |
Connect systems through channels. | sssn.one |
psi.lllm |
lllm-core |
Compose typed tactics across runtimes. | lllm.one |
psi.aaax |
aaax |
Expose strategies as shells and services. | aaax.one |
psi.hub |
psihub |
Describe, validate, publish, and download PSI package metadata. | PsiHub |
psi command |
prosi-psi-cli |
Initialize credentials, inspect packages, and launch resources locally. | PsiCLI |
Detailed API documentation remains with each component. The SDK page only documents the umbrella import, verb aliases, tiny workflow helpers, and the fact that PsiCLI is included for developer convenience.
Same Objects
psi re-exports the real modules by identity:
import psi
import lllm
import sssn
import aaax
import psihub
assert psi.lllm is lllm
assert psi.sssn is sssn
assert psi.aaax is aaax
assert psi.hub is psihub
This means examples written for the component packages still work. You can use the all-in-one namespace when it helps readability, and import components directly when a project only needs one layer.
Verb Aliases
The SDK also gives the framework trio their PSI verbs:
import psi
connect = psi.connect # sssn
compose = psi.compose # lllm
expose = psi.expose # aaax
share = psi.share # psihub
These aliases are module aliases, not new abstractions.
Workflow Helpers
The helpers call through to PsiHub and keep local package workflows short:
import psi
psi.init_package("demo", org="local", kind="mixed")
report = psi.validate_package("demo")
if report.ok:
record = psi.publish("demo", hub_root=".psihub")
print(record.key)
The same publish helper is mirrored on psi.hub for the station workflow:
import psi
record = psi.hub.publish("demo", hub_root=".psihub")
For lower-level control, use PsiHub directly:
hub = psi.hub.LocalHub(".psihub")
record = hub.publish("demo")
downloaded = hub.download(record.identifier, "packages")
Version Check
import psi
print(psi.versions())
The returned dictionary reports the installed SDK, LLLM, SSSN, AAAX, and PsiHub versions.