Skip to main content

Safety-first synthetic data generation agent

Project description

Agent Paranoid Android

PyPI CI Documentation OpenSSF Scorecard License: MIT

Safety-first, deterministic synthetic test data generation from CSV structure, safe profiles, reviewed DatasetSpec files, and allowlisted Trino metadata. Source rows are profiled, never shuffled or copied into generated output.

Read the documentation for tutorials, concepts, configuration, MCP setup, and troubleshooting.

Current package version: 0.7.0. The package is agent-paranoid-android; the CLI is test-data-agent.

Install

Python 3.11 or newer is required.

python3 -m pip install agent-paranoid-android
test-data-agent doctor

Install only features you use:

python3 -m pip install "agent-paranoid-android[parquet]"
python3 -m pip install "agent-paranoid-android[mcp,trino]"
python3 -m pip install "agent-paranoid-android[all]"

Quickstart

Clone the repository to use its safe fictional fixture:

git clone https://github.com/wa-pis/agent-paranoid-android.git
cd agent-paranoid-android

test-data-agent generate-from-csv tests/fixtures/customers.csv \
  --count 25 \
  --seed 12345 \
  --format csv \
  --output out/customers.csv

A successful run reports:

Generated synthetic dataset: out | rows: customers=25 | seed: 12345 | validation: passed | source rows copied: no

The output folder contains the generated data plus:

  • csv_profile.json;
  • dataset_spec.json;
  • validation_report.json;
  • generation_manifest.json.

Review the manifest and effective spec before accepting a new dataset.

Choose A Guide

Goal Documentation
Generate from one CSV First CSV Dataset
Generate related tables Related Tables
Review specs and output Review The Output
Add deterministic business rules Business Rules
Connect an AI client MCP Setup
Understand the trust boundaries Safety Model
Configure limits and Trino Configuration
Recover from an error Troubleshooting
Upgrade from 0.5.x Migrating To 0.6

Safety

The project derives bounded metadata such as field types, null ratios, ranges, masked patterns, and safe low-cardinality distributions. It rejects or bounds:

  • raw detected PII, credentials, tokens, and private keys in profiles;
  • source-row copying and source/output path reuse;
  • path traversal and symlink escapes through generator MCP tools;
  • unrestricted SQL and write operations through Trino tools;
  • oversized input, output, rule, query, and generation work.

Human review is still required for ambiguous identifiers, rare free text, inferred relationships, and organization-specific privacy policy.

Development

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
uv run --no-sync scripts/check_release.sh

See Contributing, Security Policy, and Changelog.

Releases use tokenless PyPI Trusted Publishing and include verified wheel and source distributions, checksums, SBOMs, and GitHub attestations.

AI-Assisted Development

This project is developed with substantial assistance from AI coding tools. All changes remain subject to human review, automated testing, and the same security requirements as manually written code. Do not send production data, raw PII, credentials, or tokens to an AI system while working with the project.

The name is a nod to Radiohead's "Paranoid Android". This project is unaffiliated with Radiohead or related rights holders.

License

MIT

Project details


Download files

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

Source Distribution

agent_paranoid_android-0.7.0.tar.gz (325.8 kB view details)

Uploaded Source

Built Distribution

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

agent_paranoid_android-0.7.0-py3-none-any.whl (106.2 kB view details)

Uploaded Python 3

File details

Details for the file agent_paranoid_android-0.7.0.tar.gz.

File metadata

  • Download URL: agent_paranoid_android-0.7.0.tar.gz
  • Upload date:
  • Size: 325.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for agent_paranoid_android-0.7.0.tar.gz
Algorithm Hash digest
SHA256 62939d7e6963cd20ccfeede3230d86f3a4ee06c93ba74bd61167be44c01f02e7
MD5 9d2a6187d0ba85cc3113d2b4d60d3c85
BLAKE2b-256 3c2c9453a511b6df97c3e7375e3ddd71aa353e67d0cfe96b5016ee20db614455

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_paranoid_android-0.7.0.tar.gz:

Publisher: publish-pypi.yml on wa-pis/agent-paranoid-android

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agent_paranoid_android-0.7.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_paranoid_android-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d47bd1ade65144f64f751a62303e2f8eb0e2d1c79dfdd6fc7f54f6985ed59fe8
MD5 291599a45c613a481ad1b49cc8966cb9
BLAKE2b-256 6e1db4daf75dc714f446c98dcda07d545722a2124ffbc156a1347da798d64bee

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_paranoid_android-0.7.0-py3-none-any.whl:

Publisher: publish-pypi.yml on wa-pis/agent-paranoid-android

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page