Practical overview
When it fits
Use SDG when a code-based framework is appropriate for generating or experimenting with synthetic structured tables, especially when the workflow calls for CSV input, CTGAN, or documented LLM synthesis and feature-inference examples.
Who it is for
- Python developers building data-analysis or machine-learning workflows.
- Teams needing synthetic table data for development, testing, debugging or data sharing.
- Practitioners exploring LLM-based table synthesis or off-table feature inference.
Documented uses
- Fit a tabular synthesis model to CSV data and sample synthetic rows.
- Explore LLM-based generation of single-table data.
- Infer a new table column from existing data and LLM knowledge.
- Process column formats and null values around synthesis workflows.
Requirements & limits
The repository is public and identifies the project as open source under the Apache-2.0 license. The README documents installation from PyPI, source, or a pre-built Docker image.
- The repository's quick-start example is Python code using a CSV connector and CTGAN.
- The project offers distinct statistical and LLM-based synthesis paths; the LLM workflows have linked Colab examples.
- The README describes plug-in support for models, processing and data connectors, and mentions differential privacy and anonymization methods.
- The one-epoch CTGAN example is presented as a quick demo, not as a production configuration.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Generate sample rows from a CSV with CTGAN
Follow the repository's documented quick-start example to fit a CTGAN synthesizer on a CSV connector and request 1,000 synthetic rows.
Before you start
- Python environment with the SDG package installed using a documented method such as
pip install sdgx. - A CSV dataset, or the demo dataset downloaded by the example's
download_demo_data()utility.
Steps
Create a
CsvConnectorusing the CSV file path, or obtain the demo CSV withdownload_demo_data().Initialize
SynthesizerwithCTGANSynthesizerModel(epochs=1)and the CSV connector.Call
synthesizer.fit().Call
synthesizer.sample(1000)and inspect the resulting data.
Expected outcome
The example produces a sampled table of 1,000 synthetic rows.
Guide limitations
- The README labels one epoch as a quick-demo setting; it does not define production training settings or dataset-specific quality criteria.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 11 October 2026
- Original website title
- hitsz-ids/synthetic-data-generator · Official homepage title · retained in its source language

