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.6.0 is the recommended release. Its signed source, packages and
containers passed public verification.
Read the documentation for task guides, offline downloads, and versioned documentation. Historical evidence lives in History And Maintenance.
See the source/output matrix for the common reviewed DatasetSpec, field types, settings and business-rule contract.
Prospective candidate 1.7.0rc1 is not yet published; stable 1.6.0 remains recommended.
After publication, install explicitly with python3 -m pip install "agent-paranoid-android==1.7.0rc1".
See candidate status and its guide.
Install And Try It
Python 3.11 or newer is required.
Install the exact stable release:
python3 -m pip install "agent-paranoid-android==1.6.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.
Stable 1.6.0 includes the accepted RC1–RC5 generation, validation and business-rule
changes. Read the migration notes
before regenerating existing fixtures.
Choose A Guide
Development
For selective replacement and preservation, use Transform Local Data. Registration grants no dataset permission: preservation requires exact local approval, which agents cannot issue. Ordinary generation remains source-free.
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.
Agents can use the portable project workflow map
and selective-transformation guide.
These skills work offline with installed command help; they do not grant
permissions or enable unfinished features. Agents that do not discover .agents/skills
automatically can load either SKILL.md directly. Both are also included in
the installed wheel under test_data_agent/skills; find that directory with:
python -c 'from importlib.resources import files; print(files("test_data_agent").joinpath("skills"))'
Point the agent at the selected skill directory using its own configuration; installing this package does not silently register skills with other agents.
Business rules can travel in DatasetSpec.business_rules across Python, CLI, MCP,
approved agent workspaces and every output format. DECIMAL formulas and aggregate mappings
use exact arithmetic with one target-scale HALF_UP rounding. See
business rules and the
source/output contract.
Reviewed relational scenarios can specify exact synthetic missing-parent counts and generated parent fan-out in DatasetSpec (1.7.0rc1); expected invalid references remain explicitly invalid.
Metadata
Release files for agent-paranoid-android 1.7.0rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| agent_paranoid_android-1.7.0rc1.tar.gz | 2.1 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agent_paranoid_android-1.7.0rc1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.6 MB
Release files / agent_paranoid_android-1.7.0rc1.tar.gz
| Download URL | agent_paranoid_android-1.7.0rc1.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b9ecbe4262161191936e710010ba66fe4231d7efbdd40b6b0c2ab5a611584cf7
|
|
BLAKE2b-256 checksum How to use checksums |
a98caed2e1df59725e1dea99f94df9a7f0029709b4cde824eaaf531ca839c0c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logRelease files / agent_paranoid_android-1.7.0rc1-py3-none-any.whl
| Download URL | agent_paranoid_android-1.7.0rc1-py3-none-any.whl |
|---|---|
| Size | 421.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4aaf9d7914b97e9b02837cedd76339475d083d34fc0b008087b7917fdf7ddc6a
|
|
BLAKE2b-256 checksum How to use checksums |
0e6e37565975de74934dc068b17a3cc91a71d1ee11fd1f0ffb490785923533f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logSecurity for agent-paranoid-android 1.7.0rc1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for agent_paranoid_android-1.7.0rc1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.