Skip to main content
The src/praisonai/scripts/ folder contains automation scripts for development, testing, and release workflows.

Script Overview


One-Liner Installer

The installer scripts provide a frictionless installation experience: macOS/Linux:
Windows PowerShell:

Features

  • OS Detection - Automatically detects macOS, Linux (various distros), Windows, WSL
  • Isolation Backend - Auto-selects uv toolpipx → venv fallback; override with --backend
  • Python Management - Installs Python 3.10+ if not available (venv path only)
  • Package Manager Support - brew, apt, dnf, pacman, winget, chocolatey
  • PATH Shim - Drops ~/.local/bin/praisonai so the CLI is available without activating a venv
  • Idempotent PATH Block - Appends a clearly-marked # >>> PraisonAI PATH >>> block to shell rc; skip with --no-modify-path
  • Shell Completions - Offers to install bash/zsh/fish completions via praisonai completion <shell>
  • Interactive Onboarding - Prompts for LLM setup and bot configuration after installation
  • Dry Run Mode - Preview changes before applying

Environment Variables

Examples


Version Management

bump_version.py

Updates version across all package files:
Updates:
  • praisonai/version.py
  • pyproject.toml

check_version_sync.py

Verifies all packages have consistent versions:

Release Workflow

bump_and_release.py

Automated release pipeline:
  1. Bumps version
  2. Updates changelog
  3. Creates git tag
  4. Pushes to GitHub
  5. Triggers PyPI release

release.py

Manual PyPI release:

Smoke Testing

test-install-smoke.sh

Tests the installer in isolated Docker containers:
Tests across:
  • Ubuntu 22.04
  • Debian 12
  • Alpine Linux

Docker Test Files

Located in scripts/docker/install-smoke/:

Adding New Scripts

When adding new scripts:
  1. Location: Place in src/praisonai/scripts/
  2. Permissions: Make executable with chmod +x script.sh
  3. Documentation: Update this page
  4. Testing: Add to CI/CD if applicable

Local Development

Setting up dev environment

Testing

Running tests