PySynthData: Synthetic World Generation Platform
Generate complete synthetic worlds from schemas, data, or natural language. Production-ready with compliance, governance, and enterprise features.
Status: ✅ Production Ready (v0.2.0) | LOC: 4,900+ | Modules: 16 | Python: 3.10+
What It Does
Generate realistic synthetic worlds for:
- 🎯 AI training data (GDPR/HIPAA compliant)
- 🤖 Robotics fleet simulation (100+ robots, ROS2-native)
- 🧪 Data pipeline stress testing (5 calibrated chaos levels)
- 📊 Enterprise digital twins
- 🔬 Reproducible research datasets
Core Features
✅ Schema → Synthetic Data: YAML/JSON schemas generate realistic records with referential integrity
✅ Temporal Behaviors: Entity state machines, event sequences, edge case synthesis
✅ Robotics Ready: Fleet coordination, collision detection, sensor simulation, ROS2 integration
✅ Domain Intelligence: 5 pre-configured domains + custom domain support
✅ Production Chaos: 35+ realistic data quality patterns (missing values, encoding errors, cascading failures)
✅ Enterprise Features: Compliance frameworks (GDPR/HIPAA/SOC2), audit logging, lineage tracking, regulatory reporting
✅ Quality Monitoring: Drift detection, anomaly detection, performance tracking
✅ Cost Transparent: Automatic cost estimation and performance profiling
Quick Start
Install
pip install pysynthdata
Generate Synthetic Banking World
from pysynthdata import WorldGenerator, DomainKnowledgeBase
# Use pre-configured Banking domain
kb = DomainKnowledgeBase()
schema = kb.get_domain("Banking").schema
# Generate 1M synthetic customers, accounts, transactions
gen = WorldGenerator(schema)
world = gen.generate(num_records=1_000_000, seed=42)
# Export to Parquet
world.to_parquet("synthetic_banking/")
Add Realistic Messiness
from pysynthdata import RealWorldMessGenerator, MessinessLevel
# Generate data that looks like production
data = generate_base_data()
gen = RealWorldMessGenerator(seed=42)
gen.apply_level(data, MessinessLevel.LEVEL_3) # 15-40% affected
# Test if your pipeline survives
try:
result = pipeline.process(data)
print("✅ Pipeline handles Level 3 chaos")
except Exception as e:
print(f"❌ Pipeline fails: {e}")
Monitor Quality & Drift
from pysynthdata import DriftDetector, AnomalyDetector, MonitoringConfig
# Enable comprehensive monitoring
config = MonitoringConfig(
track_schema_drift=True,
track_data_drift=True,
track_constraint_violations=True,
track_edge_cases=True
)
# Generate compliance report
gdpr_report = world.get_compliance_report(ComplianceFramework.GDPR)
print(f"GDPR Status: {gdpr_report.compliance_status}")
Simulate Robot Fleet
from pysynthdata import FleetSimulation, Environment, Robot
env = Environment(name="Warehouse", type="warehouse", width=100, height=100)
sim = FleetSimulation(env)
# Add 100 robots
for i in range(100):
robot = Robot(id=f"robot_{i}", type="mobile_base", battery=100)
sim.add_robot(robot)
# Simulate operations and generate ROS2 sensor streams
simulation = sim.run_simulation(duration_hours=1_000_000)
5 Calibrated Messiness Levels
Test your pipeline at increasing chaos levels:
- Level 1: Slightly Messy (2-5% affected) — MVP testing
- Level 2: Moderately Messy (5-15% affected) — Early production
- Level 3: Very Messy (15-40% affected) — Real production data
- Level 4: Extremely Messy (40-70% affected) — Post-incident recovery
- Level 5: Nightmare Mode (70%+ affected) — Breaking point testing
for level in [MessinessLevel.LEVEL_1, MessinessLevel.LEVEL_3, MessinessLevel.LEVEL_5]:
data = generate_synthetic_world()
gen.apply_level(data, level)
try:
result = pipeline.process(data)
print(f"{level}: PASS")
except Exception as e:
print(f"{level}: FAIL - {e}")
Enterprise Features
Compliance Ready
- ✅ GDPR: Auto-anonymization, consent tracking, audit trail
- ✅ HIPAA: PHI encryption, access controls, breach notification
- ✅ SOC2: Change management, monitoring, incident response
- ✅ Custom: Extend to any compliance framework
Data Governance
- Lineage tracking (source → transformations → audit)
- Policy enforcement (access control, retention)
- Reproducibility guarantees (fixed seed = exact regeneration)
- Cost estimation (per operation, per record)
Production Data Patterns (35+)
- Legacy system cruft (mixed ID formats, NULL chaos)
- Human errors (typos, field swaps, copy-paste truncation)
- System failures (encoding mismatches, timeouts, cascading errors)
- Temporal chaos (timezone confusion, Y2K bugs, daylight savings)
- Migration artifacts (partial loads, schema mixing, broken FKs)
Documentation
- Quick Start — 5-minute examples
- Messiness Levels — Calibrated chaos for testing
- Enterprise Features — Compliance, governance, audit
- Phase 2-4 Guide — Architecture deep-dive
- Complete Platform — Full feature inventory
Building & Development
# Build Rust core
cargo build --release
# Build Python wheels
pip install maturin
maturin develop # Development install
maturin build --release # Production wheel
# Run tests
cargo test
pytest tests/
Supported Domains
| Domain | Entities | Relationships | Patterns | Status |
|---|---|---|---|---|
| Banking | Customer, Account, Transaction, Merchant | 4 | Fraud, churn, rapid activity | ✅ |
| Insurance | Policy, Claim, Underwriter | 3 | Claims clustering, catastrophe | ✅ |
| Healthcare | Patient, Doctor, Treatment | 3 | Rare diseases, complications | ✅ |
| Manufacturing | Equipment, Process, Quality | 3 | Failures, maintenance cycles | ✅ |
| Robotics | Robot, Task, Sensor | 3 | Localization failure, battery | ✅ |
Performance
| Operation | Throughput | Latency |
|---|---|---|
| Generate 1M records | 200K records/sec | <5 min |
| Simulate 1K entity timelines | 1M events/sec | <2 min |
| Fleet simulation (100 robots) | Real-time | <100ms per frame |
| Schema inference from NL | — | <1 sec |
| Anomaly detection | — | <100ms per batch |
License
Proprietary - All rights reserved. Contact mullassery@gmail.com for licensing inquiries.
Contributing
PRs welcome for:
- New domains & patterns
- Performance optimizations
- Additional compliance frameworks
- Documentation & examples
- Bug reports & feature requests
Citation
If you use PySynthData in research, please cite:
@software{pysynthdata2026,
author = {Mullassery, Georgi},
title = {PySynthData: Synthetic World Generation Platform},
year = {2026},
url = {https://github.com/Mullassery/PySynthData}
}
Questions? Open an issue on GitHub or email mullassery@gmail.com
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 pysynthdata-0.2.1-cp310-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: pysynthdata-0.2.1-cp310-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 293.3 kB
- Tags: CPython 3.10+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c35487ca8bc46b460eb45bed4aa5b79a6cf83e554cf591c69d46a67a95658103
|
|
| MD5 |
102089681aa5fcfca7a255666c2b0d3d
|
|
| BLAKE2b-256 |
984f5d2c54027a675134b53fea4dbc73b185eb2eb057467d4a4e56a149078ec5
|