Overview
The package manager is primarily CLI-based, wrapping pip with additional security features:- Safe defaults: Only uses primary index (PyPI) by default
- Extra index protection: Requires explicit opt-in for extra indexes
- Configuration management: Persistent index settings via config file
- JSON output: Machine-readable output for automation
CLI Commands
Install Packages
Uninstall Packages
List Installed Packages
Search Packages
Manage Index Configuration
Security Features
Dependency Confusion Prevention
By default, the package manager only uses the primary index (PyPI). This prevents dependency confusion attacks where malicious packages with the same name as internal packages are published to public indexes.Safe Defaults
| Setting | Default | Description |
|---|---|---|
| Primary Index | https://pypi.org/simple | Default package source |
| Extra Index | Disabled | Must explicitly enable |
| Allow Extra Index | false | Requires --allow-extra-index flag |
Configuration
Configuration is stored in~/.praison/config.toml:
Environment Variables
| Variable | Description |
|---|---|
PRAISONAI_PACKAGE_INDEX_URL | Override primary index URL |
PIP_INDEX_URL | Fallback to pip’s index URL |
Python API Usage
While the package manager is primarily CLI-based, you can invoke it programmatically:Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Validation error |
| 11 | Dependency error |
Examples
Install Agent Dependencies
Check Installed Packages
Use Custom Index
See Also
- Package Manager CLI - Full CLI reference
- Installation Guide - Getting started with PraisonAI

