Synth is an open-source data-as-code tool that provides a simple CLI workflow for generating consistent data in a scalable way. Use Synth to generate correct, anonymized data that looks and quacks like production. Generate test data fixtures for your development, testing, and continuous integration. Generate data that tells the story you want to tell. Specify constraints, relations, and all your semantics. Seed development and environments and CI. Anonymize sensitive production data. Create realistic data to your specifications. Synth uses a declarative configuration language that allows you to specify your entire data model as code. Synth can import data straight from existing sources and automatically create accurate and versatile data models. Synth supports semi-structured data and is database agnostic, playing nicely with SQL and NoSQL databases. Synth supports generation for thousands of semantic types such as credit card numbers, email addresses, and more.
Features
- Synth provides a robust, declarative framework for specifying constraint based data generation
- Data generation is described using a declarative configuration language allowing you to specify your entire data model as code
- Synth can import data from existing sources and automatically create data models. Synth currently has Alpha support for Postgres, MySQL and mongoDB
- While ingesting data, Synth automatically works out the relations, distributions and types of the dataset
- Synth supports semi-structured data and is database agnostic - playing nicely with SQL and NoSQL databases
- Synth uses the fake-rs crate to enable the generation of semantically rich data with support for types like names, addresses, credit card numbers etc.