finos / datahelix

The DataHelix generator allows you to quickly create data, based on a JSON profile that defines fields and the relationships between them, for the purpose of testing and validation
https://finos.github.io/datahelix/
Apache License 2.0
141 stars 50 forks source link
data-engineering data-generation data-generator java test-data-generator

FINOS - Archived

This project is archived, which means that it's in read-only state. You can download and use this code, the project is entirely functional, and you are welcome to use it but please be aware of the risk of bugs and security vulnerabilities. If you're interested to restore development activities on this project, please email help@finos.org

DataHelix Generator CircleCI

DataHelix logo

The generation of representative test and simulation data is a challenging and time-consuming task. Although DataHelix was created to address a specific challenge in the financial services industry, you will find it a useful tool for the generation of realistic data for simulation and testing, regardless of industry sector. All this from a straightforward JSON data profile document.

DataHelix is a proud member of the Fintech Open Source Foundation and operates within the FINOS Data Technologies Program.

Key documents

The Problem

When performing a wide range of software development tasks - functional or load testing on a system, prototyping an API or pitching a service to a potential customer - sample data is a necessity, but generating and maintaining it can be difficult. The nature of some industries makes it particularly difficult to cleanly manage data schemas, and sample datasets:

For all the above reasons, it is common to handcraft sample datasets. This approach brings several problems:

For data generation, partial solutions are available in services/libraries such as TSimulus, Mockaroo or GenRocket. However, these have limitations:

The Mission

We aim to solve (at least) the following user needs:

The Product

A suite of tools:

Contributing

  1. Fork it (https://github.com/yourname/yourproject/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Read our contribution guidelines and Community Code of Conduct
  4. Commit your changes (git commit -am 'Add some fooBar')
  5. Push to the branch (git push origin feature/fooBar)
  6. Create a new Pull Request

NOTE: Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool. Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.

Need an ICLA? Unsure if you are covered under an existing CCLA? Email help@finos.org

License

Copyright 2019 Scott Logic Ltd.

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0.