Skip to content

yeasy/AutoPPT

Repository files navigation

AutoPPT 🚀

License Python CI/CD

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 with gradient
nature Earthy greens
creative Vibrant colors
corporate Professional blue
academic Traditional maroon
startup Modern orange
dark Cyan on dark with gradient
luxury Gold on dark, elegant ✨
magazine Crimson accents, editorial style
tech_gradient Indigo to purple gradient
ocean Deep blue gradient
sunset Warm orange to pink gradient

🧪 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

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/awesome
  3. Run tests & safety audit: pytest && python3 scripts/check_sensitive.py
  4. Commit changes: git commit -m "feat: Add awesome feature"
  5. Push: git push origin feature/awesome
  6. Open a Pull Request

📜 License

Apache 2.0 - See LICENSE

📝 Changelog

See CHANGELOG.md

About

Generate Professional Presentations in Seconds using latest AI.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages