Ad

synth: Declarative Data Generation Tool

Synth generates realistic data using a declarative model. It allows developers to create data models as code, import from existing sources, and build test data for diverse use cases. Supports SQL and NoSQL databases.
Screenshot of shuttle-hq/synth homepage

Synth is a tool for generating realistic data using a declarative data model. It solves the problem of needing data for development, testing, and scaling, especially when existing data is unsuitable. Synth allows defining data models as code, enabling version control and automation. Leveraging a declarative configuration language, it abstracts away the complexities of data generation, focusing on defining the desired attributes instead of implementation details.

Synth distinguishes itself via its declarative data model, allowing for version control and easier collaboration. Its ability to import data from existing databases and automatically infer schemas simplifies data model creation. It offers database agnosticism, supporting both SQL and NoSQL databases, providing flexibility for various projects. Semantic data types, powered by the fake-rs crate, enable generation of realistic data like names and addresses.

  • Data as Code: Defines data models using a declarative configuration language.
  • Database Agnostic: Supports SQL and NoSQL databases for flexible data generation.
  • Import from Sources: Automatically generates data models from existing databases like Postgres, MySQL, and MongoDB.
  • Semantic Data Types: Generates realistic data using fake-rs for names, addresses, and more.
  • Scalable: Designed to handle millions of data rows.
  • Extensible: The declarative model allows for custom data generation logic.
  • Developer Friendly: Easy to set up and use with clear command-line interface.

Synth is currently in Public Alpha, indicating it is being tested by a wider audience. While actively developed, users should be aware of potential instability and evolving features. Regular updates are being released, and community feedback is actively sought. Documentation is still being refined, but sufficient examples are provided to get started.

Synth benefits developers and QA engineers needing realistic data for various purposes. It simplifies data generation for application development, integration testing, and scaling simulations, providing a reliable alternative to manual data creation or using production data. This ensures consistent, testable, and controlled data environments.

Summarize:
Share:
Stars
1,484
Forks
110
Issues
98
Created
6 years ago
Commit
1 year ago
License
APACHE-2.0
Archived
No
Updated 17 days ago

Similar Repositories