Metadata-Version: 2.4
Name: genai-spit
Version: 1.0.0
Summary: 9 Generative-AI lab experiments (VAE, GAN, text generation, text-to-image, DeepFake AE, music, CycleGAN, chatbot, diffusion) that run offline without pretrained models
Author: Amey Jagannath Sonvadkar
License: MIT
Keywords: generative-ai,vae,gan,diffusion,cyclegan,education
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Provides-Extra: all
Requires-Dist: torch; extra == "all"
Requires-Dist: matplotlib; extra == "all"
Requires-Dist: scikit-learn; extra == "all"
Provides-Extra: mnist
Requires-Dist: torch; extra == "mnist"
Requires-Dist: torchvision; extra == "mnist"
Dynamic: license-file

# genai-spit

9 Generative-AI lab experiments that run **offline, without pretrained models or downloaded datasets** (every experiment creates its own data). For each one you can read the **title, theory and full Python source**, save it, run it, and create its datasets.

## Install

```bash
pip install --upgrade "genai-spit[all]"        # with torch, matplotlib, scikit-learn
pip install --upgrade genai-spit               # code + theory only
```
Colab / Jupyter: `!pip install --upgrade "genai-spit[all]"`

## Command line

```bash
genai-spit --list                          # list the 9 experiments
genai-spit --show chatbot                  # title + theory + full source
genai-spit --theory vae                    # only theory
genai-spit --code diffusion                # only code
genai-spit --save cyclegan --out cyclegan.py
genai-spit --save-all --out genai_code     # all 9 (.py, .txt, theory)
genai-spit --data --out genai_data         # create all datasets
genai-spit --all --out genai_all           # code + theory + datasets in one folder
genai-spit --all --mnist                   # + MNIST (internet)
genai-spit --run gan                       # run an experiment
```

## Python

```python
from genai_spit import list_experiments, show_experiment, get_source, save_experiment, run_experiment, download_all

list_experiments()
show_experiment("chatbot")        # title, theory, then the full Python source
code = get_source("diffusion")
save_experiment("vae", "vae.py")
run_experiment("cyclegan")
download_all("genai_all")
```

## Experiments

| # | Name (aliases) | Experiment |
|---|---|---|
| 1 | `vae` (autoencoder) | Autoencoder + Variational Autoencoder |
| 2 | `gan` | Basic GAN |
| 3 | `text_generation` (gpt2) | Tokenization, embedding, pre-train + fine-tune, temperature / top-k / top-p |
| 4 | `text_to_image` (dalle) | Text-to-image with a conditional VAE |
| 5 | `deepfake` (faceswap) | Shared encoder + two decoders, reconstruction analysis |
| 6 | `music` (jukebox) | Markov-chain music → WAV, waveform, spectrogram |
| 7 | `cyclegan` | Unpaired style transfer |
| 8 | `chatbot` | TF-IDF retrieval chatbot with context and exit loop |
| 9 | `diffusion` (ddpm) | DDPM, noise schedules, guided generation |

Source files: `src/genai_spit/experiments/*.py.txt`

See **PUBLISHING.md** for how this package is built and uploaded to PyPI.

## License
MIT
