Skip to main content

praisonai-code

Agentic terminal CLI for PraisonAI — the terminal-native agent product (run, chat, code, warm runtime, CLI backends) extracted from the praisonai wrapper.

Analogues: opencode, codex, gemini-cli.

Status

C0–C5 complete. C6 integration gate verified — see src/praisonai/tests/C6_VERIFICATION.md.

Step Scope Status
C0 Scaffold Done
C1 runtime/ + cli_backends/ Done
C2 interactive/, execution/, ui/, output/, state/ Done
C3 Agentic commands Done
C4 Agentic features Done
C5 main.py, app.py, config/session/utils + shims Done
C6 Integration gate + sign-off Done
C7 Hot-path standalone (agentic CLI without wrapper import) Done
  • praisonai_code.runtime — warm local runtime (daemon + thin client).
  • praisonai_code.cli_backends — CLI backend implementations (e.g. Claude Code).
  • praisonai_code.llm — endpoint resolution, credentials, model catalogue.
  • praisonai_code.tool_resolver — YAML tool name resolution.

See src/praisonai/tests/C7_VERIFICATION.md for the hot-path sign-off checklist.

Dependency rules

praisonai (main)  →  depends on  praisonai-code
praisonai-code    →  depends on  praisonaiagents (core SDK)

praisonai-code also pulls in its own third-party runtime deps (rich, typer, click, textual, PyYAML, python-dotenv, litellm, mcp, pydantic — see pyproject.toml). The rules above govern the inter-package direction.

C7 (hot path complete): Standalone pip install praisonai-code supports core agentic terminal commands without importing the wrapper on the hot path. Approval backends resolve locally via praisonai_code.cli.features._approval_bridge (channel bots delegate to the wrapper). Optional features (observability sinks, framework adapters, bots/gateway) remain wrapper-only via praisonai_code._wrapper_bridge.

Standalone limits (pip install praisonai-code only)

The terminal-native commands (run, chat, code, doctor, daemon) live in praisonai_code.cli.commands.* and resolve via LazyCommandGroup without importing the wrapper. Only commands in _WRAPPER_RESIDENT_COMMANDS (see praisonai_code/cli/app.py) require pip install praisonai.

Command Works standalone? Notes
praisonai-code --version Yes
run --help, config, doctor Yes
run --output actions "…" Yes In-process Agent (structured events). run modes: silent (default), plain, actions, verbose, json, stream, stream-json
run --output json/stream/stream-json "…" Yes In-process Agent (structured output)
run "…" (default) Needs praisonai Human-readable text run delegates to the wrapper's handle_direct_prompt; standalone gates with an install hint pointing to --output actions
run --output plain/verbose/silent "…" Needs praisonai Same text path as default; standalone gates with an install hint
chat --output plain "…" Yes One-shot; interactive REPL also in code package. chat modes: actions (default), plain, verbose, json, silent
code --help Yes Full code assistant command registered
daemon start (foreground) Yes
daemon start --background Yes Spawns python -m praisonai_code.runtime
batch, docs, langfuse, flow, n8n, train, … No _WRAPPER_RESIDENT_COMMANDS — needs pip install praisonai
bot, gateway, pairing, … No Needs praisonai bot package

Known limitations:

  • praisonai-code --help may crash on Windows (cp1252) due to emoji in command descriptions — tracked separately.
  • Piped stdin (file | run) is not yet supported on Windows.

For bots, gateway, batch, observability sinks, and the wrapper-resident commands above, install the full wrapper: pip install praisonai.

Completed C7 steps:

  • praisonai_code._registry — vendored plugin registry (no wrapper import)
  • praisonai_code._version / runtime/descriptor.py — version from praisonai-code
  • praisonai_code.__main__ + praisonai-code console script — standalone entry
  • praisonai_code._logging — CLI logging without wrapper dependency
  • praisonai_code.llm.* — env, credentials, catalogue, config
  • praisonai_code._framework_availability, _safe_loader, tool_resolver — execution helpers
  • Namespace cleanup — praisonai_code.cli.features.* local imports on agentic path

Backward compatibility is preserved via PEP 562 shims at the old praisonai.* import paths, so pip install praisonai and from praisonai.cli.main import PraisonAI keep working unchanged.

Install

Recommended (includes wrapper + bots/gateway):

pip install praisonai

Standalone code package (agentic CLI only):

pip install praisonai-code
praisonai-code --version
python -m praisonai_code --help

Development / monorepo:

pip install -e src/praisonai-agents
pip install -e src/praisonai-code
pip install -e src/praisonai
python -c "import praisonai_code; print(praisonai_code.__version__)"

PyPI: Published as praisonai-code after praisonaiagents in the three-package release order (see pypi-release.yml).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

praisonai_code-0.0.52.tar.gz (767.8 kB view details)

Uploaded Source

Built Distribution

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

praisonai_code-0.0.52-py3-none-any.whl (924.9 kB view details)

Uploaded Python 3

File details

Details for the file praisonai_code-0.0.52.tar.gz.

File metadata

  • Download URL: praisonai_code-0.0.52.tar.gz
  • Upload date:
  • Size: 767.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for praisonai_code-0.0.52.tar.gz
Algorithm Hash digest
SHA256 e81ca13a6c91ff41406a1aca38d42fdbf8c108b9a7165e3c71bf865ca5067ca0
MD5 bc277a321b6ba7cadf312d1e06b9c98c
BLAKE2b-256 5e1aa3b11f1d488d7004572cea8a6fc4d2b4f6274af15535d0e22368efa9f88c

See more details on using hashes here.

File details

Details for the file praisonai_code-0.0.52-py3-none-any.whl.

File metadata

  • Download URL: praisonai_code-0.0.52-py3-none-any.whl
  • Upload date:
  • Size: 924.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for praisonai_code-0.0.52-py3-none-any.whl
Algorithm Hash digest
SHA256 bd3b3bc4a368daea23e8f85693cc44b9d59dd65bebef4e3cc7e04a25b3eb1544
MD5 244d9936401e92784448c543b83e487e
BLAKE2b-256 53ee9a7f7f99a8786bdec62f27bd7a880aa2135d3ee4f2d54a339e97be97f2f8

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 Sentry Error logging StatusPage Status page