This release is a pre-release and may not be stable for production use.
Agent Paranoid Android
Deterministic synthetic test data from CSV and database metadata, without
copying source rows. Use the CLI or Python library to profile structure, review
a DatasetSpec, generate reproducible datasets, and validate the result.
Stable 1.3.0 is the recommended release. Read the
documentation for complete
workflows and configuration.
Preview 1.3.1rc2 is explicit opt-in:
python3 -m pip install "agent-paranoid-android==1.3.1rc2".
Install And Try It
Python 3.11 or newer is required.
python3 -m pip install "agent-paranoid-android==1.3.0"
test-data-agent demo --output out/demo
The offline demo uses a bundled fictional fixture and needs no checkout, network, database, or AI provider. A successful run reports:
Generated synthetic dataset: out/demo | rows: customers=12 | seed: 20260801 | validation: passed | source rows copied: no
The output contains synthetic CSV data, a safe profile, the effective
DatasetSpec, a validation report, and a generation manifest. The demo has no
relationship or business-rule evidence, so it makes no claim about preserving
those properties.
Start With Your Data
| Source | Start here |
|---|---|
| One CSV file | First CSV Dataset |
| PostgreSQL | PostgreSQL Workflow |
| Trino | Trino Workflow |
Existing DatasetSpec |
Profiles And Specs |
CSV and JSON workflows are included in the base package. Install optional database, Parquet, MCP, or AI support only when you need it; see Installation.
Guarantees And Limits
- An explicit seed makes generation reproducible under the recorded package, dependency, locale, and serializer environment.
- Source rows are never copied into generated output. Exact source literals are replaced by default; a field-scoped allowlist can retain only reviewed, bounded, non-sensitive business enums or constants in approved local destinations.
- Database profiling is read-only, allowlisted, and resource-bounded. It does not expose arbitrary unrestricted SQL.
- AI providers are optional. They receive safe metadata, cannot approve a specification, and cannot generate data directly.
- Human review remains required for ambiguous identifiers, free text, inferred relationships, and organization-specific privacy policy.
The project does not certify statistical anonymity, protection from every re-identification attack, or cross-environment byte identity.
Choose A Guide
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, Support, Governance, Code Of Conduct, Security Policy, Changelog, and License. Releases use PyPI Trusted Publishing with verified wheels and source distributions, checksums, SBOMs, and GitHub attestations.
AI-Assisted Development
AI-assisted changes require human review and tests; never send production data, raw PII, credentials, or tokens to AI. The name nods to Radiohead's "Paranoid Android"; this project is unaffiliated.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_paranoid_android-1.3.1rc2.tar.gz.
File metadata
- Download URL: agent_paranoid_android-1.3.1rc2.tar.gz
- Upload date:
- Size: 931.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fb40aae5e086d602099269e47c27834651b10c8a59d902871c9e62df20e04da
|
|
| MD5 |
babf762ef625214abc31378485096393
|
|
| BLAKE2b-256 |
e3bdc668236749d7f3a1af8c95e2f1293627dbcc0078f79d31f4846bdd591f0f
|
Provenance
The following attestation bundles were made for agent_paranoid_android-1.3.1rc2.tar.gz:
Publisher:
publish-pypi.yml on wa-pis/agent-paranoid-android
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_paranoid_android-1.3.1rc2.tar.gz -
Subject digest:
1fb40aae5e086d602099269e47c27834651b10c8a59d902871c9e62df20e04da - Sigstore transparency entry: 2556289900
- Sigstore integration time:
-
Permalink:
wa-pis/agent-paranoid-android@78948516451591fd9774ddfacaf788cb67a9426e -
Branch / Tag:
refs/tags/v1.3.1rc2 - Owner: https://github.com/wa-pis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@78948516451591fd9774ddfacaf788cb67a9426e -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file agent_paranoid_android-1.3.1rc2-py3-none-any.whl.
File metadata
- Download URL: agent_paranoid_android-1.3.1rc2-py3-none-any.whl
- Upload date:
- Size: 239.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
238cca7424af53cf3af13ebce2df1d71c7598ab3b4b0d2f6afaa702563467fc9
|
|
| MD5 |
95d792b5432d9e610f0046c032437563
|
|
| BLAKE2b-256 |
84f87f34b737e2617b5793273a1b762ccf9a9d5dadeed33d87a31fc51f2159a8
|
Provenance
The following attestation bundles were made for agent_paranoid_android-1.3.1rc2-py3-none-any.whl:
Publisher:
publish-pypi.yml on wa-pis/agent-paranoid-android
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_paranoid_android-1.3.1rc2-py3-none-any.whl -
Subject digest:
238cca7424af53cf3af13ebce2df1d71c7598ab3b4b0d2f6afaa702563467fc9 - Sigstore transparency entry: 2556290018
- Sigstore integration time:
-
Permalink:
wa-pis/agent-paranoid-android@78948516451591fd9774ddfacaf788cb67a9426e -
Branch / Tag:
refs/tags/v1.3.1rc2 - Owner: https://github.com/wa-pis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@78948516451591fd9774ddfacaf788cb67a9426e -
Trigger Event:
workflow_dispatch
-
Statement type: