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.6.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

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 --extra dev --no-install-project
uv sync --frozen --extra dev --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.6.0.tar.gz (311.7 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.6.0-py3-none-any.whl (100.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agent_paranoid_android-0.6.0.tar.gz
  • Upload date:
  • Size: 311.7 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.6.0.tar.gz
Algorithm Hash digest
SHA256 76792332bb6a6b300d6173756239aa0d8ed4827ff3f54e1d11b87becb330a49a
MD5 eba9f8ab8f9e019a0cfb1886e90fc175
BLAKE2b-256 f33277c741976d60a6b41f70ad4acf199f3d2238bb40608b1fe4efb2430ab039

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_paranoid_android-0.6.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.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_paranoid_android-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dbb61fa0e803c1d4c9965919ad7c367eb1508115609a3abba667408b0d8ef716
MD5 b3c22b59fcb1558e71e3e85051a57c01
BLAKE2b-256 b8cd40d17ff73196fe91fa966856be3d9ddcd59e8e67a581b2de82f3a4db2f82

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_paranoid_android-0.6.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