paths • AI Agent SDK
Centralized Path Utilities for PraisonAI Agents.
paths
AI Agent
Centralized Path Utilities for PraisonAI Agents.
All persistent data uses ~/.praisonai/ by default. Override with the PRAISONAI_HOME environment variable for a single-root layout.
For fresh installs (no PRAISONAI_HOME and no existing ~/.praisonai or ~/.praison), the XDG Base Directory specification is honoured when the corresponding variables are set: config -> $XDG_CONFIG_HOME/praisonai (else ~/.config/praisonai) data -> $XDG_DATA_HOME/praisonai (else ~/.praisonai) state -> $XDG_STATE_HOME/praisonai (else ~/.local/state/praisonai) cache -> $XDG_CACHE_HOME/praisonai (else ~/.cache/praisonai) An existing single root (PRAISONAI_HOME or ~/.praisonai/~/.praison) keeps all classes together, preserving full backward compatibility.
This module provides a single source of truth for all data storage paths, eliminating hardcoded paths throughout the codebase (DRY principle).
Usage:
from praisonaiagents.paths import get_data_dir, get_sessions_dir
# Get user data directory
data_dir = get_data_dir() # ~/.praisonai/
# Get specific subdirectories
sessions_dir = get_sessions_dir() # ~/.praisonai/sessions/
# Override with environment variable
# export PRAISONAI_HOME=/custom/path
# data_dir = get_data_dir() # /custom/path/Backward Compatibility: If ~/.praisonai/ doesn’t exist but ~/.praison/ does, the legacy path will be used with a deprecation warning. Run ‘praisonai migrate-data’ to migrate to the new location.
Import
from praisonaiagents import pathsFunctions
Get PraisonAI data directory.
get_config_dir()Get PraisonAI config directory (editable config, credentials, rules).
get_state_dir()Get PraisonAI state directory (machine-local: MRU model, logs, spill).
get_sessions_dir()Get sessions directory.
get_session_spill_dir()Get the session spill directory (last-resort salvage on write failure).
get_skills_dir()Get user skills directory.
get_plugins_dir()Get user plugins directory.
get_mcp_dir()Get MCP config directory.
get_docs_dir()Get docs directory.
get_rules_dir()Get rules directory.
get_permissions_dir()Get permissions directory.
get_storage_dir()Get generic storage directory.
get_checkpoints_dir()Get checkpoints directory.
get_snapshots_dir()Get snapshots directory.
get_learn_dir()Get learn directory for learning stores.
get_cache_dir()Get cache directory (disposable data).
get_mcp_auth_path()Get path to MCP auth storage file.
get_memory_dir()Get memory directory for short/long term databases.
get_workflows_dir()Get workflows directory.
get_summaries_dir()Get summaries directory for RAG.
get_prp_dir()Get PRP (Prompt Response Pair) output directory.
get_runs_dir()Get runs directory for artifacts.
get_project_data_dir()Get project-level data directory.
get_project_sessions_dir()Get project-level sessions directory.
get_project_knowledge_dir()Get project-level knowledge directory.
get_project_summaries_dir()Get project-level summaries directory for RAG.
get_project_prp_dir()Get project-level PRP output directory.
get_config_path()Get path to the main config.yaml file.
get_schedules_dir()Get schedules directory.
get_storage_path()Get default SQLite storage database path.
ensure_dir()Ensure a directory exists, creating it if necessary.
get_all_paths()Get all PraisonAI data paths.
Constants
| Name | Value |
|---|---|
ENV_VAR | 'PRAISONAI_HOME' |
DEFAULT_DIR_NAME | '.praisonai' |
LEGACY_DIR_NAME | '.praison' |
XDG_APP_NAME | 'praisonai' |