-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Great Generator helps engineers generate realistic synthetic data from schema definitions for lower environments, data pipelines, testing, demos, and analytics projects.
Start here if you have a schema but do not have safe test data.
from great_generator import generate_from_schema, parse_ddl
schema = {
"customer_id": "string",
"customer_name": "string",
"age": "int",
"email": "string",
"balance": "float",
"created_at": "datetime",
}
df = generate_from_schema(schema, rows=1000)Teams often cannot copy production records into dev, QA, SIT, UAT, sandbox, demo, or performance environments. Great Generator creates synthetic, non-production data from your schema so you can test without waiting for a production extract.
- Problem Statement
- Quick Start with generate_from_schema
- Generate Related Tables
- Supported Schema Input Types
- Realistic Mode
- Custom Rules
- Writing Data to Files and Databases
- Data Quality and Edge Cases
- Query-Aware Generation
- AI advisor layer
- Use
generate_from_schemafor real project structures and lower-environment testing. - Use
generate_relationalwhen several custom tables need valid key relationships. - Query-aware generation: Generate synthetic data that includes required query filter values, partition dates, and relational join paths for safer SQL and pipeline testing.
- Use
generate_domainfor ready-made demonstrations, tutorials, and learning datasets. - Use the optional advisor layer to create editable plans, column tags, and realism reviews before deterministic generation.
Great Generator creates synthetic data. It does not anonymize, mask, de-identify, or transform real production data. Follow your organization's data governance, privacy, security, and compliance policies.
Use parse_ddl(...) to convert SQL CREATE TABLE DDL into canonical contracts with stable hashes, keys, relationships, and structured parser diagnostics. See SQL DDL Schema Examples.
Great Generator can create synthetic data that contains the values, partition dates, and join paths needed by your SQL queries. This helps teams test SQL logic, partition pruning, joins, aggregations, and performance behavior without using production data.
All query-aware options are optional. Existing generation behavior is unchanged unless you provide required_values, partition_by, target_selectivity, ensure_join_coverage, or query_profile.
See Query-Aware Generation for examples.
- Home
- Problem Statement
- Quick Start
- Generate Related Tables
- Query-Aware Generation
- Supported Schema Inputs
- Function Comparison
- Getting Started
- Plain Dictionary
- Rich Dictionary
- Pandas
- PySpark StructType
- Contracts and SQL DDL
- Schema Generation
- JSON Schema
- YAML Schema Profile