Discover / Data & Research

Synthetic Data Vault

by sdv-devPython

Synthetic Data Generation library tailored for tabular relational and time series datasets.

Toolstable

Maturity: stable because 8y old, v1.37.4 released 10d ago. Derived from release and commit history, not a rating.

Stars
3.5k
Forks
417
Downloads / mo
Last commit
2026-08-03
License
NOASSERTION
Open issues
153

Market and trust evidence

Edition not yet matched

No exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.

Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.

In practice

Written by AI from this repository’s README · high confidence

Generates synthetic tabular datasets for testing and machine learning.

Use it when

When you need privacy-preserving synthetic data.

Not the right pick when

For unstructured data generation.

Capabilities

  • Synthetic data generation

Cost: Free and open source

Video walkthroughs

Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.

What the repository ships

Has testsHas docsCI configured

Detected from the actual files in the repository root.

Latest release v1.37.4

Published 2026-07-24

v1.37.4 - 2026-07-24

New Features

  • Consolidate single and multi-table evaluation reports into one - Issue #2923 by @pvk-developer
  • The save_resource for demo datasets should be able to handle filepaths (not just filenames) - Issue #2917 by @gsheni

Tags

README

<div align="center">

<br/>

<p align="center">

<i>This repository is part of <a href="https://sdv.dev">The Synthetic Data Vault Project</a>, a project from <a href="https://datacebo.com">DataCebo</a>.</i>

</p>

Dev Status

PyPi Shield

Unit Tests

Integration Tests

Coverage Status

Downloads

Colab

Forum

<div align="left">

<br/>

<p align="center">

<a href="https://github.com/sdv-dev/SDV">

<img align="center" width=40% src="https://github.com/sdv-dev/SDV/blob/stable/docs/images/SDV-logo.png"></img>

</a>

</p>

</div>

</div>

Overview

The Synthetic Data Vault (SDV) is a Python library designed to be your one-stop shop for

creating tabular synthetic data. The SDV uses a variety of machine learning algorithms to learn

patterns from your real data and emulate them in synthetic data.

Features

:brain: Create synthetic data using machine learning. The SDV offers multiple models, ranging

from classical statistical methods (GaussianCopula) to deep learning methods (CTGAN). Generate

data for single tables, multiple connected tables or sequential tables.

:bar_chart: Evaluate and visualize data. Compare the synthetic data to the real data against a

variety of measures. Diagnose problems and generate a quality report to get more insights.

:arrows_counterclockwise: Preprocess, anonymize and define constraints. Control data

processing to improve the quality of synthetic data, choose from different types of anonymization

and define business rules in the form of logical constraints.

| Important Links | |

| --------------------------------------------- | ----------------------------------------------------------------------------------------------------|

| [![][Colab Logo] Tutorials][Tutorials] | Get some hands-on experience with the SDV. Launch the tutorial notebooks and run the code yourself. |

| :book: [Docs] | Learn how to use the SDV library with user guides and API references. |

| :orange_book: [Blog] | Get more insights about using the SDV, deploying models and our synthetic data community. |

| :busts_in_silhouette: [DataCebo Forum] | Discuss SDV features, ask questions, and receive help . |

| :computer: [Website] | Check out the SDV website for more information about the project. |

[Website]: https://sdv.dev

[Blog]: https://datacebo.com/blog

[Docs]: https://bit.ly/sdv-docs

[Repository]: https://github.com/sdv-dev/SDV

[License]: https://github.com/sdv-dev/SDV/blob/main/LICENSE

[Development Status]: https://pypi.org/search/?c=Development+Status+%3A%3A+5+-+Production%2FStable

[DataCebo Forum]: https://forum.datacebo.com

[Colab Logo]: https://github.com/sdv-dev/SDV/blob/stable/docs/images/google_colab.png

[Tutorials]: https://docs.sdv.dev/sdv/demos

Install

The SDV is publicly available under the Business Source License.

Install SDV using pip or conda. We recommend using a virtual environment to avoid conflicts with

other software on your device.


pip install sdv

conda install -c pytorch -c conda-forge sdv

Getting Started

Load a demo dataset to get started. This dataset is a single table describing guests staying at a

fictional hotel.


from sdv.datasets.demo import download_demo

real_data, metadata = download_demo(modality='single_table', dataset_name='fake_hotel_guests')

Single Table Metadata Example

The demo also includes metadata, a description of the dataset, including the data types in each

column and the primary key (guest_email).

Synthesizing Data

Next, we can create an SDV synthesizer, an object that you can use to create synthetic data.

It learns patterns from the real data and replicates them to generate synthetic data. Let's use

the GaussianCopulaSynthesizer.


from sdv.single_table import GaussianCopulaSynthesizer

synthesizer = GaussianCopulaSynthesizer(metadata)
synthesizer.fit(data=real_data)

And now the synthesizer is ready to create synthetic data!


synthetic_data = synthesizer.sample(num_rows=500)

The synthetic data will have the following properties:

  • Sensitive columns are fully anonymized. The email, billing address and credit card number

columns contain new data so you don't expose the real values.

  • Other columns follow statistical patterns. For example, the proportion of room types, the

distribution of check in dates and the correlations between room rate and room type are preserved.

  • Keys and other relationships are intact. The primary key (guest email) is unique for each row.

If you have multiple tables, the connection between a primary and foreign keys makes sense.

Evaluating Synthetic Data

The SDV library allows you to evaluate the synthetic data by comparing it to the real data. Get

started by generating a quality report.


from sdv.evaluation.single_table import evaluate_quality

quality_report = evaluate_quality(real_data, synthetic_data, metadata)

Generating report ...

(1/2) Evaluating Column Shapes: |████████████████| 9/9 [00:00<00:00, 1133.09it/s]|
Column Shapes Score: 89.11%

(2/2) Evaluating Column Pair Trends: |██████████████████████████████████████████| 36/36 [00:00<00:00, 502.88it/s]|
Column Pair Trends Score: 88.3%

Overall Score (Average): 88.7%

This object computes an overall quality score on a scale of 0 to 100% (100 being the best) as well

as detailed breakdowns. For more insights, you can also visualize the synthetic vs. real data.


from sdv.evaluation.single_table import get_column_plot

fig = get_column_plot(
    real_data=real_data,
    synthetic_data=synthetic_data,
    column_name='amenities_fee',
    metadata=metadata,
)

fig.show()

Real vs. Synthetic Data

What's Next?

Using the SDV library, you can synthesize single table, multi table and sequential data. You can

also customize the full synthetic data workflow, including preprocessing, anonymization and adding

constraints.

To learn more, visit the SDV Demo page.

Credits

Thank you to our team of contributors who have built and maintained the SDV ecosystem over the

years!

View Contributors

Citation

If you use SDV for your research, please cite the following paper:

Neha Patki, Roy Wedge, Kalyan Veeramachaneni. The Synthetic Data Vault. IEEE DSAA 2016.


@inproceedings{
    SDV,
    title={The Synthetic data vault},
    author={Patki, Neha and Wedge, Roy and Veeramachaneni, Kalyan},
    booktitle={IEEE International Conference on Data Science and Advanced Analytics (DSAA)},
    year={2016},
    pages={399-410},
    doi={10.1109/DSAA.2016.49},
    month={Oct}
}

<div align="center">

<a href="https://datacebo.com"><picture>

<source media="(prefers-color-scheme: dark)" srcset="https://github.com/sdv-dev/SDV/blob/stable/docs/images/datacebo-logo-dark-mode.png">

<img align="center" width=40% src="https://github.com/sdv-dev/SDV/blob/stable/docs/images/datacebo-logo.png"></img>

</picture></a>

</div>

<br/>

<br/>

The Synthetic Data Vault Project was first created at MIT's [Data to AI Lab](

https://dai.lids.mit.edu/) in 2016. After 4 years of research and traction with enterprise, we

created DataCebo in 2020 with the goal of growing the project.

Today, DataCebo is the proud developer of SDV, the largest ecosystem for

synthetic data generation & evaluation. It is home to multiple libraries that support synthetic

data, including:

  • 🔄 Data discovery & transformation. Reverse the transforms to reproduce realistic data.
  • 🧠 Multiple machine learning models -- ranging from Copulas to Deep Learning -- to create tabular,

multi table and time series data.

  • 📊 Measuring quality and privacy of synthetic data, and comparing different synthetic data

generation models.

Get started using the SDV package -- a fully

integrated solution and your one-stop shop for synthetic data. Or, use the standalone libraries

for specific needs.

Related tools