AI-powered slide generation library for PowerPoint. Generate professional presentations from YAML/JSON schemas using LLMs.
Project description
SlideGen
AI-powered slide generation library for PowerPoint. Generate professional presentations from YAML/JSON schemas using LLMs.
Installation
From PyPI (Recommended)
pip install slidegen-pptx
From Source
git clone https://github.com/nicolairobles/slidegen.git
cd slidegen
pip install -e .
Quick Start
1. Create a Presentation Schema
Create a YAML file describing your presentation:
presentation:
title: "My Presentation"
slides:
- layout: title
title: "Welcome"
subtitle: "Introduction"
- layout: bullet_list
title: "Key Points"
bullets:
- "Point 1"
- "Point 2"
2. Validate the Schema
slidegen validate presentation.yaml
3. Generate PowerPoint
slidegen build presentation.yaml -o output.pptx
Features
- 🎨 10 Layout Types: Title, bullet lists, two-column, comparison, charts, tables, images, quotes, section headers, and blank slides
- 🤖 AI-Powered: Generate schemas from natural language using LLMs (OpenAI, DeepSeek)
- ✅ Schema Validation: Comprehensive validation with helpful error messages
- 🎨 Theming: Support for custom themes and styling
- 📊 Data Binding: Connect charts and tables to CSV/JSON data sources
- 🚀 CLI Tool: Simple command-line interface for quick generation
Documentation
Full documentation is available at: https://nicolairobles.github.io/slidegen/
Example Schemas
See the examples/ directory for complete examples:
- Corporate quarterly results
- Client proposals
- Product roadmaps
- Technical analysis
- Educational content
Development
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run type checking
mypy slidegen/
# Run linting
ruff check slidegen/
Contributing
Contributions are welcome! Please see our Contributing Guide for details.
License
MIT License - see LICENSE file for details.
Links
- Documentation: https://nicolairobles.github.io/slidegen/
- GitHub: https://github.com/nicolairobles/slidegen
- Issues: https://github.com/nicolairobles/slidegen/issues
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file slidegen_pptx-0.1.0.tar.gz.
File metadata
- Download URL: slidegen_pptx-0.1.0.tar.gz
- Upload date:
- Size: 33.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f0a1ab01358f1d6cc0c85786fce04ebef238b8283ce965506e5c8077ce3623c
|
|
| MD5 |
6926e1e77c99ec736217b9af679f623d
|
|
| BLAKE2b-256 |
83206c7c89e44d1f8df329b2b6029648b6c2023e2fb4f0421f40a49a2f4783d5
|
Provenance
The following attestation bundles were made for slidegen_pptx-0.1.0.tar.gz:
Publisher:
publish.yml on nicolairobles/slidegen
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
slidegen_pptx-0.1.0.tar.gz -
Subject digest:
0f0a1ab01358f1d6cc0c85786fce04ebef238b8283ce965506e5c8077ce3623c - Sigstore transparency entry: 855652451
- Sigstore integration time:
-
Permalink:
nicolairobles/slidegen@c051ce1f47d6200bb304fd56491969e5755cb2b3 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/nicolairobles
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c051ce1f47d6200bb304fd56491969e5755cb2b3 -
Trigger Event:
release
-
Statement type:
File details
Details for the file slidegen_pptx-0.1.0-py3-none-any.whl.
File metadata
- Download URL: slidegen_pptx-0.1.0-py3-none-any.whl
- Upload date:
- Size: 45.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c907e19f348f540336e757ffaf3e97a5bd643c680c704e148660f21d2536ba76
|
|
| MD5 |
5dd81364dd1141b00c6fbeb85cc0925a
|
|
| BLAKE2b-256 |
51be5ceb4ed57880b703fd5a163f89201219c3cccedeeb364ffd9ee4b161401b
|
Provenance
The following attestation bundles were made for slidegen_pptx-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on nicolairobles/slidegen
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
slidegen_pptx-0.1.0-py3-none-any.whl -
Subject digest:
c907e19f348f540336e757ffaf3e97a5bd643c680c704e148660f21d2536ba76 - Sigstore transparency entry: 855652520
- Sigstore integration time:
-
Permalink:
nicolairobles/slidegen@c051ce1f47d6200bb304fd56491969e5755cb2b3 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/nicolairobles
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c051ce1f47d6200bb304fd56491969e5755cb2b3 -
Trigger Event:
release
-
Statement type: