Snowfakery
snowfakery.readthedocs.io
What it is
Snowfakery generates synthetic data from YAML recipe files, including records linked across tables. Recipes can create names, addresses, text, URLs, random numbers and other values using Faker-based functions, and specify how many related objects to generate. Output can go to files in JSON, TXT, CSV, SQL, DOT, SVG, SVGZ, JPEG and PostScript formats; some diagram formats require Graphviz. Snowfakery can also write to databases accessible through SQLAlchemy, including SQLite, and generate records in Salesforce when used through CumulusCI. Python applications can embed it with its generate_data function, and Python plugins and providers can extend its functions and Faker capabilities. Strict mode checks a recipe before generation, while validate-only mode checks it without generating data. It is free, open source and self-hosted. The documentation says database output creates new tables, with generated columns as text, and that SQLite is the only database included in its SQL dataset URL test suite. The repository was archived on September 18, 2026, and is read-only.
Spec sheet
- Purpose
- Snowfakery generates unique, random fake data with relationships between tables from YAML recipe files.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Intended users
- The documentation describes installation paths for Salesforce users and for users who want to use Snowfakery without Salesforce.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Security
- The documentation warns that recipes can access much of Python's power, load plugins, and call Python methods, so it advises against running untrusted recipes where they can access secure resources.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Data generation
- Recipes can generate fake names, addresses, text, URLs, and other values using Faker-based functions.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Database integration
- Snowfakery can write to databases accessible through SQLAlchemy, including SQLite, and its documentation describes connecting to databases such as PostgreSQL, MySQL/MariaDB, and Oracle.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Database limitation
- For database output, Snowfakery currently creates new tables rather than importing data into existing tables, and generated columns are text.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Database support
- Snowfakery builds on SQLAlchemy connectors, but its documentation says only SQLite is included in its test suite for SQL dataset URLs.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Database testing
- Snowfakery is not proactively tested with every output database, and the documentation invites users to share their database experiences and report issues.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Extensibility
- Python plugins can add functions, and providers can add Faker capabilities to Snowfakery.Read 9 Oct 2026 · snowfakery.readthedocs.io
- File formats
- File-based outputs include JSON, TXT, CSV, SQL, DOT, SVG, SVGZ, JPEG, and PS PNG.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Generated data
- Recipes can generate fake names, addresses, text, URLs, and other values, as well as random numbers.Read 9 Oct 2026 · snowfakery.readthedocs.io
- ID requirement
- Snowfakery always generates an ID for each record and requires models that can accommodate an ID field.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Installation
- The documentation instructs non-Salesforce users to install Snowfakery with pipx and recommends installing CumulusCI for Salesforce use.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Output destinations
- It can write to standard output, databases accessible through SQLAlchemy, and Salesforce when used with CumulusCI.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Output formats
- File-based output includes JSON, TXT, CSV, SQL, DOT, SVG, SVGZ, JPEG, and PostScript formats, with some diagram formats requiring Graphviz.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Python use
- Snowfakery can be embedded in Python applications through its generate_data function.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Relationships
- Recipes can create related records and control how many related objects are generated for each record.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Repository status
- The Snowfakery GitHub repository was archived by its owner on September 18, 2026, and is read-only.Read 9 Oct 2026 · github.com
- Salesforce integration
- For Salesforce use, the documentation recommends installing CumulusCI, which includes Snowfakery and handles generating records into a Salesforce org.Read 9 Oct 2026 · snowfakery.readthedocs.io
- Validation
- Strict mode validates a recipe before generation, and validate-only mode checks a recipe without generating data.Read 9 Oct 2026 · snowfakery.readthedocs.io
Plans and prices
Strong points and limits
Strong points
- Generates records with relationships between tables.
- Writes several file formats and database destinations.
- Can validate recipes without generating data.
- Python plugins can extend its functions.
Limits
- Archived repository is read-only.
- Database output creates new tables, not existing ones.
- Generated database columns are text.
- Recipes can access much of Python's power.
Who it suits
Snowfakery suits Salesforce users and developers who need synthetic records in files, databases or Python applications. It can also suit users building related data from YAML recipes.
Verdict
Snowfakery offers a flexible way to create synthetic data across file, database and Salesforce workflows. Before using it, account for its archived repository, database output limits and the documentation's warning about running untrusted recipes.
Where Specifiction places it
- Test Data Generation Tools#8 of 287.9