Skip to main content

Generate Professional Presentations in Seconds using AI

Project description

AutoPPT 🚀

License Python Status Tests

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

🤝 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.3.0.tar.gz (27.0 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.3.0-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

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

Hashes for autoppt-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b6410b5e1cf26d2549b193e231d2f4635d72edb642c40f1fe84ca2b4a86d724a
MD5 752b734202e3e9a9624b5e0a828500d7
BLAKE2b-256 33a71764383ca643fd985ab220a5d8f0b56f09bbe2284f71b16510dca564ceb7

See more details on using hashes here.

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

Hashes for autoppt-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c84fb0dbedfdfd8bc7d563ce011fbcc6012846bfcf61311b8e3e713cf27b610
MD5 c7ac213e4a5113295fcce757134cac2f
BLAKE2b-256 ec96d35b3c69cae2dbee35000fe0ee24f332789ea5351c6bcc699228b8a097e9

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