Quickstart¶
This walkthrough uses the built-in starter template created by faux init.
1. Scaffold a project¶
This creates a minimal working layout with:
schemas/example/users.ymlproviders/example.ymlcatalogs/demo.ymlfunctions/__init__.py
2. Validate the project¶
Validation checks provider configuration, catalog loading, schema parsing, and domain dependency rules before any data is generated.
3. Generate the example domain¶
Because the argument is a directory, faux-db generates every schema file in that domain in dependency order.
4. Inspect the output¶
The starter schema writes to:
The example schema looks like this:
users:
rows: 10
columns:
id:
type: faker
method: uuid4
unique: true
email:
type: faker
method: email
bind_to: id
segment:
type: provider
target: UserSegmentProvider
welcome_line:
type: provider
target: WelcomeLineProvider
output:
format: csv
filepath: ./outputs/users.csv
5. Customize it¶
Common next edits:
- Change
rowsto control dataset size. - Swap a column from
fakertoproviderfor reusable logic. - Add a
funccolumn that calls code fromfunctions/. - Change
output.formattojson.
Next step¶
Read Schemas to learn the full YAML shape and supported column options.