Skip to content

CLI and Dataset Recipes

Ravi Kiran Pagidi edited this page Jun 20, 2026 · 1 revision

CLI and Dataset Recipes

Great Generator can be used from Python, but it also includes a CLI for users who want to generate data from a terminal or notebook shell.

CLI commands

great-generator list-domains
great-generator describe ecommerce
great-generator describe banking --json

Generate files directly:

great-generator gen banking --scale small --out ./data/banking --format parquet

Run a recipe:

great-generator run banking_recipe.yaml

Why recipes matter

A recipe is a small file that fully describes a generated dataset. This is useful when a demo, benchmark, workshop, or research paper needs repeatable data.

YAML recipe

kind: domain
domain: banking
engine: pandas
scale: small
realism: realistic
anomalies:
  null_rate: 0.01
  duplicate_rate: 0.005
output:
  path: ./generated/banking
  format: parquet

Python usage

from great_generator import generate_from_recipe

data = generate_from_recipe("banking_recipe.yaml")

Supported recipe types

Domain recipe:

kind: domain
domain: ecommerce
scale: small

Relational recipe:

kind: relational
engine: pandas
tables:
  customers: customer_id int primary key, customer_name string
  orders: order_id int primary key, customer_id int references customers.customer_id, amount double
rows:
  customers: 1000
  orders: 10000

Format support

Great Generator supports JSON, TOML, and simple YAML recipes. The YAML support is intentionally simple so the core package does not need a heavy parser dependency.

Clone this wiki locally