Skip to main content

Generate Professional Presentations in Seconds using AI

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autoppt-0.4.0.tar.gz (30.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autoppt-0.4.0-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

Details for the file autoppt-0.4.0.tar.gz.

File metadata

  • Download URL: autoppt-0.4.0.tar.gz
  • Upload date:
  • Size: 30.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for autoppt-0.4.0.tar.gz
Algorithm Hash digest
SHA256 6d13d5938e628ac1e827d630cc8bae2c581f5633568331b2c34bfcf0275c4870
MD5 551fd952ee429bebbd6f3e741d8f61df
BLAKE2b-256 d97c8e0692bf27f939375fe6312f35506d53e0347dd26a5b6f04b50e7594330e

See more details on using hashes here.

File details

Details for the file autoppt-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: autoppt-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 27.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for autoppt-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f5d2e0bcd431926186f4a8c80f79e21ad4111ba24d9217f630fc58ef0e29883
MD5 58c0fc24ec6c3e9744a1b4851e1f84cb
BLAKE2b-256 8b2c2a5d83c49ecfc12030ebeba94d81b04a71842f4732f3ae6c79dc082fa5ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page