Skip to content

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.