Installation

Requirements

  • Python 3.11 or newer
  • enough local disk space for the requested output
  • a dedicated working directory for inputs and generated artifacts

The supported CI matrix covers CPython 3.11, 3.12, 3.13, and 3.14. Python 3.11 remains the minimum so users can adopt newer interpreters without forcing existing environments to upgrade. The notice and release-gate rules for changing this matrix are defined in Runtime And Integration Support.

Stable 1.4.0 retains the generation-contract corrections from 1.3.2. Read the migration notes before regenerating existing fixtures.

Install From PyPI

The stable release is 1.4.0; the commands below pin that exact version for reproducible installation.

Create an isolated environment:

macOS and Linux

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install "agent-paranoid-android==1.4.0"

The base package supports CSV, JSON, and deterministic PostgreSQL SQL export. Add only the source and format integrations you need:

python3 -m pip install "agent-paranoid-android[parquet]==1.4.0"
python3 -m pip install "agent-paranoid-android[mcp]==1.4.0"
python3 -m pip install "agent-paranoid-android[mcp,trino]==1.4.0"
python3 -m pip install "agent-paranoid-android[postgres]==1.4.0"
python3 -m pip install "agent-paranoid-android[openai]==1.4.0"
python3 -m pip install "agent-paranoid-android[gigachat]==1.4.0"

The CI dependency ceilings are intentionally small enough to catch accidental growth:

Profile Capability Maximum installed distributions
base CSV and JSON 10
parquet Parquet files 11
mcp Generator MCP server 35
openai Optional structured-output advisor 20
gigachat Experimental GigaChat advisor 20
trino Trino client and safe SQL parser 25
postgres Read-only PostgreSQL profiling driver 12

These are regression budgets, not a guarantee that every platform installs the same count. PyArrow is the largest optional wheel, so keep parquet out of environments that do not produce Parquet files.

The all extra remains available for development, demos, and container builds. It is not the recommended user installation. Use test-data-agent doctor --require-extra all to verify that full environment.

The experimental GigaChat adapter is included in 1.4.0 through its explicit gigachat extra. Follow Use The GigaChat Advisor for authentication, mandatory TLS verification, and the review-first workflow. The default provider remains OpenAI.

Accepted Candidate Baseline

Stable 1.4.0 is the recommended default. It reissues the publicly accepted 1.3.2 runtime under the requested minor version without adding new behavior. Add an optional extra to the same exact stable pin only when needed.

Windows PowerShell

py -3.11 -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install "agent-paranoid-android==1.4.0"

Run the self-contained environment check:

test-data-agent doctor

Expected final lines:

quickstart smoke: ok
doctor passed

doctor creates its sample input and output under a temporary directory. It does not need a repository checkout and does not contact Trino or another external system. doctor --require-extra parquet also writes and reads a temporary Parquet bundle to verify that capability rather than only importing PyArrow. doctor --require-extra mcp verifies local generator tool registration without starting a server or opening a network connection. doctor --require-extra trino parses an allowlisted read-only query and constructs then closes a local client object without executing SQL or contacting a Trino coordinator. doctor --require-extra postgres verifies that the optional PostgreSQL driver is installed without opening a connection. doctor --require-extra openai constructs and closes a local SDK client with a non-secret placeholder, then verifies the structured Responses API and advisor adapter without contacting the provider. doctor --require-extra gigachat validates strict structured-response mapping and cleanup through a local fake SDK client. It does not resolve credentials, obtain an access token, or contact GigaChat.

For CI, add --json to receive one versioned stdout document. For interactive shells, generate completion from the installed command inventory:

test-data-agent completion bash
test-data-agent completion zsh
test-data-agent completion fish
test-data-agent completion powershell

The command prints a script; it does not modify shell startup files.

Install For Development

Clone the repository and install the locked development environment:

git clone https://github.com/wa-pis/agent-paranoid-android.git
cd agent-paranoid-android
python3 -m pip install "uv==0.11.23"
uv sync --frozen --all-extras --no-install-project
uv sync --frozen --all-extras --no-editable --no-build-isolation

Run the release-quality checks:

uv run --no-sync scripts/check_release.sh

Build the documentation in its isolated dependency group:

uv sync --frozen --only-group docs --no-install-project
uv run --no-sync mkdocs build --strict

Confirm The Installed Version

python3 -c "import test_data_agent; print(test_data_agent.__version__)"

The package name is agent-paranoid-android. The command remains test-data-agent.

Next Step

Use First CSV Dataset for one table, Related Tables for a folder containing one CSV per table, or Profile PostgreSQL for an allowlisted database.