Cure has several key features:
- A clean DSL to describe the operations that you want to do. This can be defined in code, or loaded from a file that could be version controlled.
- Operate on your data to build what you need.
- Files are taken through an
Source -> Extract -> Validate -> Build -> Query -> Transform -> Export
pipeline. - Each of these steps is optional.
- Files are taken through an
- Metadata allows you to add some comments to your template. Will not impact functionality.
- Sources are where you define the file(s) that you wish to operate on.
- Extract parts of your file into named ranges to remove junk.
- Validate that data fits your expectations.
- Build (add, remove, rename, copy, explode) columns.
- Query your extracted data using SQLite to further control your desired data.
- Transform values:
- Define either full, split, partials or regex match groups replacements.
- Choose from many strategies to replace data - random number sequences, GUIDs, placeholders, multipliers amongst many others.
- Existing generated values are stored and recalled so once a replacement is defined, it is kept around for other columns to use.
- For example, once a replacement Account Number is generated, any further use of that number sequence is other columns will be used, keeping data real(ish) and functional in a relational sense.
- Export into one (or many) files, in a selection of chosen formats, CSV (single or chunked files), or create a custom proc to do whatever you want.
Please see the Examples article in the examples directory for more information.