sdv
Generate synthetic data for single table, multi table and sequential data
What it is and what it does
SDV is a Python library for generating synthetic tabular data that mimics real datasets while protecting sensitive information. It offers multiple machine learning models—from classical statistical methods like GaussianCopula to deep learning approaches like CTGAN—to learn and replicate patterns in your data. The library handles single tables, multiple connected tables, and sequential data, with built-in support for preprocessing, anonymization, and business rule constraints.
The typical workflow involves loading or preparing your real data with metadata, selecting a synthesizer model, fitting it to learn patterns, then sampling synthetic rows. SDV also provides evaluation tools to measure how well the synthetic data matches the real data's statistical properties and to visualize differences. It depends on a substantial stack including pandas, numpy, copulas, ctgan, deepecho, rdt, and sdmetrics for its core functionality.
Use it for:
- Generate test datasets for development and QA without exposing real customer or sensitive data
- Create shareable datasets for research or collaboration while maintaining privacy compliance
- Augment small datasets with synthetic rows to improve machine learning model training
- Evaluate data quality and statistical fidelity between real and synthetic versions
- Prototype data pipelines and analytics on realistic synthetic data before deploying to production
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
SDV generates synthetic tabular data by learning patterns from real datasets using machine learning models, then creates new data that preserves statistical properties while anonymizing sensitive columns.
Yes, with conditions. SDV is actively maintained, has no known vulnerabilities, and low install friction. It's a mature tool (Production/Stable status) for a real need—synthetic data generation with privacy controls. However, the BUSL-1.1 license treatment is unclear; verify the license terms match your use case (commercial, internal, or research) before committing to production deployment. If licensing is acceptable, it's a solid choice for tabular synthetic data work.
Install
sdv on PyPI
pip
pip install sdvuv
uv add sdvpoetry
poetry add sdvInstalling sdv
Before you install
Low install friction with a pure Python wheel. Active maintenance with a release 7 days ago and consistent development activity. Supports Python 3.9 through 3.14.
License in practice
Licensed under BUSL-1.1 (Business Source License). License treatment is marked unclear in the metadata—review the actual license terms before use, particularly for commercial applications.
Quickstart
from sdv.datasets.demo import download_demo
from sdv.single_table import GaussianCopulaSynthesizer
real_data, metadata = download_demo(modality='single_table', dataset_name='fake_hotel_guests')
synthesizer = GaussianCopulaSynthesizer(metadata)
synthesizer.fit(data=real_data)
synthetic_data = synthesizer.sample(num_rows=500)
Verify before relying
- Whether BUSL-1.1 restrictions apply to your intended use case (commercial, internal, or research)
- Memory and compute requirements for large datasets or complex multi-table schemas
- Performance characteristics and scalability limits for production workloads
Package facts
| License | BUSL-1.1 (unclear) |
| Python support | supports the current Python release (<3.15,>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 14 — boto3, botocore, cloudpickle, graphviz, numpy, pandas, tqdm, copulas, ctgan, deepecho, rdt, sdmetrics, platformdirs, pyyaml |
| Maintenance | actively maintained — 7 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 118,605/month — #12,113 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sdv-1.38.0-py3-none-any.whl
Keywords: sdv, synthetic-data, synthetic-data-generation, timeseries, single-table, multi-table
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
copulasCopulas models multivariate statistical…
unclear · top 15,000 on PyPI
ctganCTGAN generates synthetic tabular data by…
unclear · top 15,000 on PyPI
featuretoolsFeaturetools automates feature engineering for…
permissive · top 15,000 on PyPI
rdtRDT converts raw, mixed-type data into fully…
unclear · top 15,000 on PyPI
sdmetricsSDMetrics evaluates synthetic data by computing…
permissive · top 15,000 on PyPI
deepechoDeepEcho generates synthetic time series data…
unclear · top 15,000 on PyPI
oil-reservoir-synthesizerGenerates synthetic oil reservoir simulator…
copyleft · top 15,000 on PyPI
data-designerGenerates high-quality synthetic datasets from…
permissive · top 15,000 on PyPI
dbldatagenGenerates synthetic data at scale within…
unclear · top 15,000 on PyPI
pystac-ext-tableExtends PySTAC to describe tabular data assets…
permissive · top 5,000 on PyPI