Metadata-Version: 2.4
Name: slidegen-pptx
Version: 0.1.0
Summary: AI-powered slide generation library for PowerPoint. Generate professional presentations from YAML/JSON schemas using LLMs.
Author-email: SlideGen Team <slidegen@example.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/nicolairobles/slidegen
Project-URL: Documentation, https://nicolairobles.github.io/slidegen/
Project-URL: Repository, https://github.com/nicolairobles/slidegen
Project-URL: Issues, https://github.com/nicolairobles/slidegen/issues
Project-URL: Bug Tracker, https://github.com/nicolairobles/slidegen/issues
Keywords: powerpoint,presentation,slides,ai,yaml,schema,llm,openai,automation
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business
Classifier: Topic :: Multimedia :: Graphics :: Presentation
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing :: Markup
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: jsonschema>=4.17.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: click>=8.1.0
Requires-Dist: python-pptx>=0.6.21
Requires-Dist: openai>=1.0.0
Requires-Dist: fastapi>=0.100.0
Requires-Dist: uvicorn[standard]>=0.23.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: httpx>=0.24.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.5.0; extra == "docs"
Requires-Dist: mkdocs-material>=9.0.0; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.23.0; extra == "docs"

# SlideGen

AI-powered slide generation library for PowerPoint. Generate professional presentations from YAML/JSON schemas using LLMs.

## Installation

### From PyPI (Recommended)

```bash
pip install slidegen-pptx
```

### From Source

```bash
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:

```yaml
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

```bash
slidegen validate presentation.yaml
```

### 3. Generate PowerPoint

```bash
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

```bash
# 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](https://nicolairobles.github.io/slidegen/contributing/guide/) for details.

## License

MIT License - see [LICENSE](LICENSE) file for details.

## Links

- **Documentation**: https://nicolairobles.github.io/slidegen/
- **GitHub**: https://github.com/nicolairobles/slidegen
- **Issues**: https://github.com/nicolairobles/slidegen/issues

