LotusGen
High-throughput, low-memory dummy and synthetic tabular data generator.
LotusGen is a lightweight, self-hosted web application designed to simplify the generation of complex, relational mock datasets. It was created to provide developers, QA engineers, and data practitioners with a fast, intuitive way to design relational schemas, preview distributions, and generate millions of deterministic rows in CSV and Apache Parquet formats.
⚠️ Intended Use & Disclaimer
LotusGen is built strictly for development, local benchmarking, integration testing, and QA environments.
It is designed for generating fictitious, synthetic mock data and is not intended, tested, or recommended for creating, processing, or substituting real production data.
Features at a Glance
- Multi-Archetype Schemas: Model Record, Aggregate, Reference (lookup dimensions), and Collection (weighted choice pools) tables.
- Relational Integrity: Intra-table DAG validation ensures clean topological evaluation of calculated fields and foreign references.
- AST-Sandboxed Formulas: Safe row-by-row expressions without unsafe execution.
- Streaming Generation: Powered by Polars and PyArrow for bounded memory usage during large-scale exports.
- 100% Deterministic: Seed-based pseudorandom generation guarantees identical output across runs.
Quick Start
Run LotusGen locally using Docker:
Clone the repository
git clone https://git.sylphian.my.id/Sylphian/lotusgen.git
cd lotusgen
Start the container
docker compose up -d --build
Access the web interface at http://localhost:8000.
Documentation & Wiki
For full architecture details, table archetype guides, formula syntax, column configurations, and API references, please visit our Project Wiki.
License
This project is open-source software licensed under the MIT License.