SDG is a Python-based framework to generate high-quality structured tabular data, with LLM-enabled single-table synthesis and CTGAN variants. Latest release history includes 0.2.4 (2024-12-03) and earlier 0.2.3, 0.2.2, 0.2.1, 0.2.0. Project started 2023-08-10 and last push 2026-07-13. License is Apache-2.0.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
SDG is a specialized framework designed to generate high-quality structured tabular data.
How it works
The project includes a CTGAN-based synthesizer model and an LLM-based single-table data synthesis model, with components for data processing and metadata handling. There are Colab examples showing synthetic data generation and off-table feature inference.
Getting started
Install from PyPi:
pip install sdgx
Local install (recommended):
git clone git@github.com:hitsz-ids/synthetic-data-generator.git
pip install .
# Or install from git
pip install git+https://github.com/hitsz-ids/synthetic-data-generator.git
Pre-built image:
docker pull idsteam/sdgx:latest
Demo usage (Python):
from sdgx.data_connectors.csv_connector import CsvConnector
from sdgx.models.ml.single_table.ctgan import CTGANSynthesizerModel
from sdgx.synthesizer import Synthesizer
from sdgx.utils import download_demo_data
# This will download demo data to ./dataset
dataset_csv = download_demo_data()
# Create data connector for csv file
data_connector = CsvConnector(path=dataset_csv)
# Initialize synthesizer, use CTGAN model
synthesizer = Synthesizer(
model=CTGANSynthesizerModel(epochs=1), # For quick demo
data_connector=data_connector,
)
# Fit the model
synthesizer.fit()
# Sample
sampled_data = synthesizer.sample(1000)
print(sampled_data)
Recent releases
- 0.2.4 0.2.4 (2024-12-03): Docs - Update README News and fix the link of python package badge. by @jalr4ever in https://github.com/hitsz-ids/synthetic-data-generator/pull/243; Bugfix - Datatime formatter in
- 0.2.3 0.2.3 (2024-11-18): Enhance - Handling Fixed Column Relationships using FixedCombinationInspector and FixedCombinationTransformer by @MooooCat @jalr4ever in https://github.com/hitsz-ids/synthetic-dat
- 0.2.2 0.2.2 (2024-11-08): Feature: Add progressbar for CTGAN when fitting and sampling by @cyantangerine in https://github.com/hitsz-ids/synthetic-data-generator/pull/228; Enhance: Check the type of foreig
- 0.2.1 0.2.1 (2024-10-11): Add CHN address inspector by @MooooCat in https://github.com/hitsz-ids/synthetic-data-generator/pull/158; Update inspector part in Doc(API Reference) by @MooooCat in https://githu
- 0.2.0 0.2.0 (2024-03-01): LLM-Based SingleTable Model
Traction
Stars: 2433
Behind the repo
The project is linked to Institute of Data Security, Harbin Institute of Technology. It is available under the Apache-2.0 license.
Caveats
License: Apache-2.0 Created: 2023-08-10 Last push: 2026-07-13 Open issues: 27 Language: Python






