RadarTopicsBuildersWeeklyReads
Open Source Radar
hitsz-ids/

synthetic-data-generator

GitHub

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.

2.4kstars
391forks
27issues
Apache-2.0license
2023since
Star historydaily snapshots by VibeCrowd

Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).

Alternatives & relatedmatched by topic overlap
Reviewgenerated from repository data · Aug 5, 2026

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

SharePost on XLinkedIn
All trending reposRevenue-verified startups →