Litmus

Contract-driven test data generation for supply chain pipelines.

Define your dataset schemas as contracts, set referential integrity and coverage rules as constraints, group them into projects, and generate realistic synthetic data that satisfies every rule.

Key Concepts
Contracts

Schema definitions for each dataset — columns, data types, allowed values, and per-column constraints. Think of a contract as the "shape" your data must take.

Constraints

Rules between contracts — referential integrity (subset), coverage guarantees, cross-product relationships, and dimension matching. They make generated data realistic and self-consistent.

Projects

Group contracts and constraints together, configure row counts per table, and generate synthetic data. Download the output as CSV, Parquet, or both.

How It Works

Define or import contracts

Create schemas manually or bulk-import from a JSON schema file or CSV ontology export.

Create constraints between them

Define rules like "every arc must reference a valid node" or "inventory covers all product-location combinations."

Create a project

Group the contracts and constraints you need, configure row counts per table.

Generate test data

Click generate — Litmus builds data that satisfies every constraint, then verifies the results.

Download and use

Inspect generated tables, review constraint verification, and download a ZIP with CSV/Parquet files.

Try It Out

Litmus comes pre-loaded with a sample tenant containing a supply chain network model. Follow these walkthroughs to see everything in action.

1. Explore sample projects

2. Generate and download test data

3. Import your own ontology

4. Constraints and cross-validation

Ready to go?

Switch to the sample tenant to explore, or create a new tenant and import your own schema.