# fg-data-synthetic

> Open-source Python package for generating synthetic tabular and time-series data using GANs and Gaussian Mixture models.

fg-data-synthetic is an MIT-licensed Python package, hosted by the Data-Centric-AI-Community organization, that generates synthetic tabular and time-series data with generative models. It is the successor to the ydata-synthetic package, and its documentation is published on the YData SDK docs site. The latest release listed is 2.1.0.

## What It Is

The project is a synthetic data generation library. Synthetic data replicates the statistical properties of real data without containing identifiable information, which the README presents as useful for privacy-compliant data sharing, ML development, bias removal, dataset balancing and augmentation. The deep learning models are implemented with TensorFlow 2.0, and example notebooks and scripts show how to use each architecture.

## Models and Workflow

For tabular data it provides GAN, CGAN, WGAN, WGAN-GP, DRAGAN, Cramer GAN, CWGAN-GP, CTGAN and a Gaussian Mixture model. The Gaussian Mixture option is described as a fast model that can be used without a GPU. For sequential data it offers TimeGAN and DoppelGANger. Users install it with pip, train a synthesizer on their data, then generate and profile synthetic samples.

## Streamlit App

An optional Streamlit interface, installed through the streamlit extra, offers a low-code way to train a synthesizer and to generate and profile synthetic samples. It supports the CGAN, WGAN, WGANGP, DRAGAN, CRAMER and CTGAN models and must be run from a Python file rather than a Jupyter notebook.

## Migration from ydata-synthetic

Existing users uninstall ydata-synthetic, install fg-data-synthetic, and change imports from ydata_synthetic to data_synthetic.

## Features
- Synthetic tabular data generation
- Synthetic time-series data generation
- GAN-based models (GAN, CGAN, WGAN, WGAN-GP, DRAGAN, Cramer GAN, CTGAN)
- Fast Gaussian Mixture model that runs without a GPU
- TimeGAN and DoppelGANger for sequential data
- Streamlit UI for training synthesizers and profiling generated samples
- Example Jupyter notebooks and datasets
- Migration path from ydata-synthetic

## Integrations
TensorFlow, Streamlit, PyPI, Google Colab

## Platforms
API, DEVELOPER_SDK, CLI

## Pricing
Open Source

## Version
2.1.0

## Links
- Website: https://docs.sdk.ydata.ai
- Documentation: https://docs.sdk.ydata.ai
- Repository: https://github.com/Data-Centric-AI-Community/fg-data-synthetic
- EveryDev.ai: https://www.everydev.ai/tools/fg-data-synthetic
