Skip to content

Commit eb5cbac

Browse files
chore(actions): update pypa/gh-action-pypi-publish action to v1.12.4
1 parent 039b0f4 commit eb5cbac

File tree

105 files changed

+6763
-481
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+6763
-481
lines changed

.github/workflows/docs.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ on:
2222
jobs:
2323
prepare:
2424
name: Get Current version
25-
runs-on: ubuntu-24.04
25+
runs-on: ubuntu-22.04
2626

2727
outputs:
2828
version: ${{ steps.version.outputs.value }}
@@ -47,7 +47,7 @@ jobs:
4747
4848
publish-docs:
4949
name: Publish Docs
50-
runs-on: ubuntu-24.04
50+
runs-on: ubuntu-22.04
5151

5252
needs:
5353
- prepare
@@ -67,7 +67,7 @@ jobs:
6767
- name: Setup Python
6868
uses: actions/setup-python@v5
6969
with:
70-
python-version: "3.13"
70+
python-version: "3.10"
7171

7272
- name: Cache pip dependencies
7373
id: cache

.github/workflows/master.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
jobs:
88
prepare:
99
name: Calculate Version
10-
runs-on: ubuntu-24.04
10+
runs-on: ubuntu-22.04
1111

1212
outputs:
1313
new_release: ${{ steps.semantic.outputs.new_release_published }}
@@ -30,7 +30,7 @@ jobs:
3030
if: needs.prepare.outputs.new_release == 'true'
3131

3232
name: Create Pre-Release
33-
runs-on: ubuntu-24.04
33+
runs-on: ubuntu-22.04
3434

3535
needs: prepare
3636

.github/workflows/prerelease.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
jobs:
88
package:
99
name: Build and Package
10-
runs-on: ubuntu-24.04
10+
runs-on: ubuntu-22.04
1111

1212
outputs:
1313
version: ${{ steps.version.outputs.value }}
@@ -22,7 +22,7 @@ jobs:
2222
- name: Setup Python 3.10
2323
uses: actions/setup-python@v5
2424
with:
25-
python-version: '3.13'
25+
python-version: '3.10'
2626

2727
- name: Install dependencies
2828
run: |
@@ -41,12 +41,12 @@ jobs:
4141

4242
upload-assets:
4343
name: Upload Assets to Release
44-
runs-on: ubuntu-24.04
44+
runs-on: ubuntu-22.04
4545

4646
needs: package
4747

4848
steps:
49-
- uses: actions/download-artifact@v5
49+
- uses: actions/download-artifact@v4
5050
with:
5151
name: built-artifacts
5252
path: dist/
@@ -59,12 +59,12 @@ jobs:
5959

6060
publish-pypi:
6161
name: Publish packages to PyPi
62-
runs-on: ubuntu-24.04
62+
runs-on: ubuntu-22.04
6363

6464
needs: package
6565

6666
steps:
67-
- uses: actions/download-artifact@v5
67+
- uses: actions/download-artifact@v4
6868
with:
6969
name: built-artifacts
7070
path: dist/

.github/workflows/pull_request.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ on:
1212
jobs:
1313
validate:
1414
name: Validate
15-
runs-on: ubuntu-24.04
15+
runs-on: ubuntu-22.04
1616

1717
steps:
1818
- uses: actions/checkout@v4
1919

2020
- name: Setup Python 3.10
2121
uses: actions/setup-python@v5
2222
with:
23-
python-version: '3.13'
23+
python-version: '3.10'
2424

2525
- name: Cache pip
2626
id: cache
@@ -46,15 +46,15 @@ jobs:
4646

4747
validate-docs:
4848
name: Validate Docs
49-
runs-on: ubuntu-24.04
49+
runs-on: ubuntu-22.04
5050

5151
steps:
5252
- uses: actions/checkout@v4
5353

5454
- name: Setup Python
5555
uses: actions/setup-python@v5
5656
with:
57-
python-version: "3.13"
57+
python-version: "3.10"
5858

5959
- name: Cache pip dependencies
6060
id: cache

README.md

Lines changed: 77 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,24 @@
1-
![](https://img.shields.io/pypi/status/ydata-sdk)
1+
![](https://img.shields.io/github/workflow/status/ydataai/ydata-synthetic/prerelease)
2+
![](https://img.shields.io/pypi/status/ydata-synthetic)
23
[![](https://pepy.tech/badge/ydata-synthetic)](https://pypi.org/project/ydata-synthetic/)
3-
![](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue)
4-
[![](https://img.shields.io/pypi/v/ydata-synthetic)](https://pypi.org/project/ydata-sdk/)
4+
![](https://img.shields.io/badge/python-3.9%20%7C%203.10-blue)
5+
[![](https://img.shields.io/pypi/v/ydata-synthetic)](https://pypi.org/project/ydata-synthetic/)
56
![](https://img.shields.io/github/license/ydataai/ydata-synthetic)
67
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=ab07c7a0-c1ee-481e-9368-baf70185cf40" />
78

89
<p align="center"><img width="300" src="https://assets.ydata.ai/oss/ydata-synthetic_black.png" alt="YData Synthetic Logo"></p>
910

1011
Join us on [![Discord](https://img.shields.io/badge/Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://tiny.ydata.ai/dcai-ydata-synthetic)
1112

12-
# ydata-synthetic is now ydata-sdk
13-
**Better, faster, easier**
14-
[YData SDK](https://docs.sdk.ydata.ai/latest/) is the leading Python package for data professional that provides connectors, metadata management, data quality profiling and synthetic data generation.
15-
16-
17-
## from ydata-synthetic to ydata-sdk
18-
With the update of `ydata-synthetic`to `ydata-sdk`, users will now have access to a single API that automatically selects and optimizes
19-
the best generative model for their data. This streamlined approach eliminates the need to choose between
20-
various models manually, as the API intelligently identifies the optimal model based on the specific dataset and use case.
21-
22-
Instead of having to manually select from models such as:
23-
24-
- [GAN](https://arxiv.org/abs/1406.2661)
25-
- [CGAN](https://arxiv.org/abs/1411.1784) (Conditional GAN)
26-
- [WGAN](https://arxiv.org/abs/1701.07875) (Wasserstein GAN)
27-
- [WGAN-GP](https://arxiv.org/abs/1704.00028) (Wassertein GAN with Gradient Penalty)
28-
- [DRAGAN](https://arxiv.org/pdf/1705.07215.pdf) (Deep Regret Analytic GAN)
29-
- [Cramer GAN](https://arxiv.org/abs/1705.10743) (Cramer Distance Solution to Biased Wasserstein Gradients)
30-
- [CWGAN-GP](https://cameronfabbri.github.io/papers/conditionalWGAN.pdf) (Conditional Wassertein GAN with Gradient Penalty)
31-
- [CTGAN](https://arxiv.org/pdf/1907.00503.pdf) (Conditional Tabular GAN)
32-
- [TimeGAN](https://papers.nips.cc/paper/2019/file/c9efe5f26cd17ba6216bbe2a7d26d490-Paper.pdf) (specifically for *time-series* data)
33-
- [DoppelGANger](https://dl.acm.org/doi/pdf/10.1145/3419394.3423643) (specifically for *time-series* data)
34-
35-
The new API handles model selection automatically, optimizing for the best performance in fidelity, utility, and privacy.
36-
This significantly simplifies the synthetic data generation process, ensuring that users get the highest quality output without
37-
the need for manual intervention and tiring hyperparameter tuning.
38-
39-
Are you ready to learn more about synthetic data and the best-practices for synthetic data generation?
40-
For more materials on [synthetic data generation with Python see the documentation](https://docs.fabric.ydata.ai/latest/sdk/).
41-
42-
## Quickstart
43-
Binary installers for the latest released version are available at the [Python Package Index (PyPI).](https://pypi.org/project/ydata-sdk/)
44-
```commandline
45-
pip install ydata-sdk
46-
```
47-
48-
## The good old YData Synthetic
49-
`YData-Synthetic` was an pioneering open-source package developed in 2020 with the primary goal of educating users about generative models for synthetic data generation.
50-
Even though the journey was fun, and we have learned a lot from the community it is now time to upgrade `ydata-synthetic`.
51-
Heading towards the future of synthetic data generation we recommend users to transition to `ydata-sdk`, which provides a superior experience with enhanced performance, precision, and ease of use, making it the preferred tool for synthetic data generation and a perfect introduction to Generative AI.
13+
# YData Synthetic
14+
A package to generate synthetic tabular and time-series data leveraging the state of the art generative models.
5215

16+
## 🎊 The exciting features:
17+
> These are must try features when it comes to synthetic data generation:
18+
> - A new streamlit app that delivers the synthetic data generation experience with a UI interface. A low code experience for the quick generation of synthetic data
19+
> - A new fast synthetic data generation model based on Gaussian Mixture. So you can quickstart in the world of synthetic data generation without the need for a GPU.
20+
> - A conditional architecture for tabular data: CTGAN, which will make the process of synthetic data generation easier and with higher quality!
21+
5322
## Synthetic data
5423
### What is synthetic data?
5524
Synthetic data is artificially generated data that is not collected from real world events. It replicates the statistical components of real data without containing any identifiable information, ensuring individuals' privacy.
@@ -63,18 +32,68 @@ Synthetic data can be used for many applications:
6332

6433
> **Looking for an end-to-end solution to Synthetic Data Generation?**<br>
6534
> [YData Fabric](https://ydata.ai/products/synthetic_data) enables the generation of high-quality datasets within a full UI experience, from data preparation to synthetic data generation and evaluation.<br>
35+
> Check out the [Community Version](https://ydata.ai/ydata-fabric-free-trial).
36+
6637

38+
# ydata-synthetic
39+
This repository contains material related with architectures and models for synthetic data, from Generative Adversarial Networks (GANs) to Gaussian Mixtures.
40+
The repo includes a full ecosystem for synthetic data generation, that includes different models for the generation of synthetic structure data and time-series.
41+
All the Deep Learning models are implemented leveraging Tensorflow 2.0.
42+
Several example Jupyter Notebooks and Python scripts are included, to show how to use the different architectures.
43+
44+
Are you ready to learn more about synthetic data and the bext-practices for synthetic data generation?
45+
46+
## Quickstart
47+
The source code is currently hosted on GitHub at: https://github.com/ydataai/ydata-synthetic
48+
49+
Binary installers for the latest released version are available at the [Python Package Index (PyPI).](https://pypi.org/project/ydata-synthetic/)
50+
```commandline
51+
pip install ydata-synthetic
52+
```
6753

6854
### The UI guide for synthetic data generation
6955

70-
YData Fabric offers an UI interface to guide you through the steps and inputs to generate structure data.
71-
Read more about [YData Fabric](https://ydata.ai/products/fabric).
56+
YData synthetic has now a UI interface to guide you through the steps and inputs to generate structure tabular data.
57+
The streamlit app is available form *v1.0.0* onwards, and supports the following flows:
58+
- Train a synthesizer model
59+
- Generate & profile synthetic data samples
60+
61+
#### Installation
62+
63+
```commandline
64+
pip install ydata-synthetic[streamlit]
65+
```
66+
#### Quickstart
67+
Use the code snippet below in a python file (Jupyter Notebooks are not supported):
68+
```python
69+
from ydata_synthetic import streamlit_app
70+
71+
streamlit_app.run()
72+
```
73+
74+
Or use the file streamlit_app.py that can be found in the [examples folder](https://github.com/ydataai/ydata-synthetic/tree/master/examples/streamlit_app.py).
75+
76+
```commandline
77+
python -m streamlit_app
78+
```
79+
80+
The below models are supported:
81+
- CGAN
82+
- WGAN
83+
- WGANGP
84+
- DRAGAN
85+
- CRAMER
86+
- CTGAN
87+
88+
[![Watch the video](assets/streamlit_app.png)](https://youtu.be/ep0PhwsFx0A)
7289

7390
### Examples
7491
Here you can find usage examples of the package and models to synthesize tabular data.
75-
- Tabular [synthetic data generation on Titanic Kaggle dataset](https://github.com/ydataai/ydata-sdk/blob/main/examples/synthesizers/regular_quickstart.py)
76-
- Time Series [synthetic data generation]('https://github.com/ydataai/ydata-sdk/blob/main/examples/synthesizers/time_series_quickstart.py')
77-
- More examples are continuously added and can be found in [examples directory](https://github.com/ydataai/ydata-sdk/tree/main/examples).
92+
- Fast tabular data synthesis on adult census income dataset [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ydataai/ydata-synthetic/blob/master/examples/regular/models/Fast_Adult_Census_Income_Data.ipynb)
93+
- Tabular synthetic data generation with CTGAN on adult census income dataset [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ydataai/ydata-synthetic/blob/master/examples/regular/models/CTGAN_Adult_Census_Income_Data.ipynb)
94+
- Time Series synthetic data generation with TimeGAN on stock dataset [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ydataai/ydata-synthetic/blob/master/examples/timeseries/TimeGAN_Synthetic_stock_data.ipynb)
95+
- Time Series synthetic data generation with DoppelGANger on FCC MBA dataset [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ydataai/ydata-synthetic/blob/master/examples/timeseries/DoppelGANger_FCC_MBA_Dataset.ipynb)
96+
- More examples are continuously added and can be found in `/examples` directory.
7897

7998
### Datasets for you to experiment
8099
Here are some example datasets for you to try with the synthesizers:
@@ -89,7 +108,7 @@ Here are some example datasets for you to try with the synthesizers:
89108

90109
## Project Resources
91110

92-
Find below useful literature of how to generate synthetic data and available generative models:
111+
In this repository you can find the several GAN architectures that are used to create synthesizers:
93112

94113
### Tabular data
95114
- [GAN](https://arxiv.org/abs/1406.2661)
@@ -106,9 +125,17 @@ Find below useful literature of how to generate synthetic data and available gen
106125
- [TimeGAN](https://papers.nips.cc/paper/2019/file/c9efe5f26cd17ba6216bbe2a7d26d490-Paper.pdf)
107126
- [DoppelGANger](https://dl.acm.org/doi/pdf/10.1145/3419394.3423643)
108127

128+
## Contributing
129+
We are open to collaboration! If you want to start contributing you only need to:
130+
1. Search for an issue in which you would like to work. Issues for newcomers are labeled with good first issue.
131+
2. Create a PR solving the issue.
132+
3. We would review every PRs and either accept or ask for revisions.
109133

110134
## Support
111135
For support in using this library, please join our Discord server. Our Discord community is very friendly and great about quickly answering questions about the use and development of the library. [Click here to join our Discord community!](https://tiny.ydata.ai/dcai-ydata-synthetic)
112136

113137
## FAQs
114-
Have a question? Check out the [Frequently Asked Questions](https://ydata.ai/resources/10-most-asked-questions-on-ydata-synthetic) about Synthetic Data. If you feel something is missing, feel free to [reach out on the Discord community](https://tiny.ydata.ai/dcai-ydata-synthetic).
138+
Have a question? Check out the [Frequently Asked Questions](https://ydata.ai/resources/10-most-asked-questions-on-ydata-synthetic) about `ydata-synthetic`. If you feel something is missing, feel free to [book a beary informal chat with us](https://meetings.hubspot.com/fabiana-clemente).
139+
140+
## License
141+
[MIT License](https://github.com/ydataai/ydata-synthetic/blob/master/LICENSE)

0 commit comments

Comments
 (0)