Generate Professional Presentations in Seconds using AI
Project description
AutoPPT 🚀
Generate Professional Presentations in Seconds using AI.
AutoPPT combines the power of advanced LLMs (OpenAI, Anthropic, Google) with real-time web research to create structured, researched, and visually styled PowerPoint presentations automatically.
✨ Features
- 🧱 Hierarchical Sectioning: Structures content into logical sections and chapters.
- 🎨 8 Visual Themes: Technology, Nature, Creative, Minimalist, Corporate, Academic, Startup, Dark.
- 🤖 Research-Driven Content: DuckDuckGo + Wikipedia integration for accurate data.
- 📊 Chart Generation: Automatic bar, pie, line, and column charts.
- 🖼️ Smart Visuals: Integrated image search with intelligent layout.
- 🔌 Multi-Provider Support: OpenAI, Google Gemini, Anthropic Claude.
- 🌐 Web UI: Streamlit-based interface for easy generation.
- 🧪 Mock Provider: Test without API keys using
--provider mock. - 📈 Progress Indicators: Real-time progress bars during generation.
- ✅ Test Coverage: Comprehensive pytest test suite.
🚀 Quick Start
1. Installation
From PyPI:
pip install autoppt
From source:
git clone https://github.com/yeasy/autoppt.git
cd autoppt
pip install .
2. Configuration
cp .env.example .env
# Add your API keys (at least one for real generation)
# OPENAI_API_KEY=sk-...
# GOOGLE_API_KEY=AIza...
# ANTHROPIC_API_KEY=sk-ant-...
3. Usage
Command Line
# Generate with default settings
autoppt --topic "The Future of AI"
# Use Google Gemini with dark theme
autoppt --topic "Planets in Solar System" --provider google --style dark
Web UI
streamlit run autoppt/app.py
Then open http://localhost:8501 in your browser.
🌐 Web Interface
AutoPPT includes a beautiful Streamlit-based web UI:
- Easy Configuration: Select provider, model, theme, and language
- Real-time Progress: See generation progress as it happens
- Direct Download: Download your PPTX immediately after generation
- No Coding Required: Perfect for non-technical users
🛠️ Configuration Options
| Flag | Description | Default |
|---|---|---|
--topic |
The presentation subject. | Required |
--provider |
AI backend: openai, google, anthropic, mock. |
openai |
--model |
Specific model name. | Provider default |
--slides |
Target number of slides. | 10 |
--language |
Output language. | English |
--style |
Visual theme (see below). | minimalist |
--output |
Custom output file path. | output/<topic>.pptx |
-v |
Enable debug logging. | false |
🎨 Visual Themes
| Theme | Style |
|---|---|
minimalist |
Clean grayscale |
technology |
Dark blue |
nature |
Earthy greens |
creative |
Vibrant colors |
corporate |
Professional blue |
academic |
Traditional maroon |
startup |
Modern orange |
dark |
Cyan on dark |
🧪 Running Tests
# Run all tests
pytest
# Run with coverage report
pytest --cov=autoppt --cov-report=term-missing
# Run specific test file
pytest tests/test_renderer.py -v
📂 Samples
- AI & Technology (CN)
- Healthy Living (CN)
- Renaissance Art (CN)
- AI & Technology (EN)
- Healthy Living (EN)
- Renaissance Art (EN)
🤝 Contributing
- Fork the repository
- Create your feature branch:
git checkout -b feature/awesome - Run tests & safety audit:
pytest && python3 scripts/check_sensitive.py - Commit changes:
git commit -m "feat: Add awesome feature" - Push:
git push origin feature/awesome - Open a Pull Request
📜 License
Apache 2.0 - See LICENSE
📝 Changelog
See CHANGELOG.md
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 autoppt-0.3.0.tar.gz.
File metadata
- Download URL: autoppt-0.3.0.tar.gz
- Upload date:
- Size: 27.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6410b5e1cf26d2549b193e231d2f4635d72edb642c40f1fe84ca2b4a86d724a
|
|
| MD5 |
752b734202e3e9a9624b5e0a828500d7
|
|
| BLAKE2b-256 |
33a71764383ca643fd985ab220a5d8f0b56f09bbe2284f71b16510dca564ceb7
|
File details
Details for the file autoppt-0.3.0-py3-none-any.whl.
File metadata
- Download URL: autoppt-0.3.0-py3-none-any.whl
- Upload date:
- Size: 24.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c84fb0dbedfdfd8bc7d563ce011fbcc6012846bfcf61311b8e3e713cf27b610
|
|
| MD5 |
c7ac213e4a5113295fcce757134cac2f
|
|
| BLAKE2b-256 |
ec96d35b3c69cae2dbee35000fe0ee24f332789ea5351c6bcc699228b8a097e9
|