Provide a model detailing the structure and create fake data.
Find a file
2025-11-18 15:34:12 -05:00
.python-version initial push 2025-11-18 09:54:32 -05:00
fake-data-1.csv adjusted column header logic for correct values 2025-11-18 15:30:16 -05:00
generate adjusted column header logic for correct values 2025-11-18 15:30:16 -05:00
main.py initial push 2025-11-18 09:54:32 -05:00
pyproject.toml initial push 2025-11-18 09:54:32 -05:00
README.md updated README 2025-11-18 15:34:12 -05:00
table-model.yaml adjusted column header logic for correct values 2025-11-18 15:30:16 -05:00
test-audio.mp3 initial push 2025-11-18 09:54:32 -05:00
test-image.png initial push 2025-11-18 09:54:32 -05:00
uv.lock initial push 2025-11-18 09:54:32 -05:00

Fake Data Generator

This will generate fake data based on a data structure.

$ ./generate --help
usage: generate [-h] [--debug] [--model MODEL] [--records RECORDS] [--output-file OUTPUT_FILE] [--column-names]

options:
  -h, --help            show this help message and exit
  --debug               Run in debug mode
  --model, -m MODEL     Filename of the data model for the data
  --records, -r RECORDS
                        Number of records to generate
  --output-file, -o OUTPUT_FILE
                        Output file name including extension
  --column-names        Write out the column names with the data

Define the model of a table using the following format:

---
table:
  name: person
  columns:
    first_name:
      class: person
      data_type: string
      column_name: first_nme
    last_name:
      class: person
      data_type: string
      column_name: last_nme
    address:
      class: address
      data_type: string
      column_name: street_addrss
    city:
      class: address
      data_type: string
      column_name: cty
    state:
      class: address
      data_type: string
      column_name: stte
    zip_code:
      class: address
      data_type: string
      column_name: zipcde
    age:
      class: numeric
      data_type: integer
      bounds: [21, 105]
  key:
    - id: integer
 $ ./generate -m table-model.yaml -r 10 -o fake-data-1.csv --column-names
 $ cat fake-data-1.csv 
first_nme,last_nme,street_addrss,cty,stte,zipcde,age
Jayna,Cantu,712 Victoria Cove,White Bear Lake,Montana,86554,43
Roland,Clements,429 Colton Crescent,Lake Elsinore,Washington,08594,39
Emery,Holden,398 Kensington Highway,Goldsboro,Alaska,02797,66
Guadalupe,Davidson,1329 San Lorenzo Hill,Las Cruces,Oregon,31694,83
Kandis,Spence,18 Incinerator Place,Waterloo,Nebraska,00191,97
Pedro,Shannon,1106 Trenton Row,West Jordan,New Mexico,13652,36
Jc,Duffy,911 Almaden Estate,Maplewood,Massachusetts,38458,77
Loree,Talley,1327 Portal Hill,Adelanto,Oklahoma,75534,76
Kirby,Clarke,252 Bluxome Stravenue,Coronado,New Mexico,67450,34
Bill,Snider,1160 Hangah Turnpike,Vernon Hills,Connecticut,71684,24