Skip to content

HippoDatamus

HippoDatamus generates synthetic datasets from a description of the columns you want. It has two faces over one engine:

  • a desktop application for building and inspecting a schema, and
  • a command-line tool for running one in a script or in CI.

Both read the same configuration file and produce the same data from it.

The idea worth knowing first

Most data generators give you random rows. HippoDatamus gives you the same rows every time, because that turns a generated dataset into something you can reference.

A configuration file plus a seed pins the output exactly. Regenerate it next week on a different machine and you get identical bytes, so you can say "the bug happens on row 4,812 of this schema" and have that mean something to someone else.

The price is that the guarantee is about the configuration, not the seed on its own. Column ids take part in deriving each column's seed, so retyping a schema by hand with the same seed gives different data. Share the file. See Reproducibility.

Where to go next

What it writes

FormatNotes
CSVRFC 4180 quoting. Values containing a delimiter, quote, or newline are quoted.
JSONAn array of objects. Numbers and booleans are real JSON types, not strings.
Excel.xlsx. Dates are formatted as dates, so they sort and filter properly.

Every value goes through a single invariant-culture formatting path, and each format's line ending is written explicitly - CRLF for CSV, as RFC 4180 defines it, and LF for JSON. A given configuration and seed therefore produce the same bytes on every platform, so a checksum of generated output means something.

Proprietary software, free to use. Licence · Privacy