A CLI tool for generating PowerPoint presentations
Project description
Power
A CLI tool for generating PowerPoint presentations programmatically.
Installation
pip install -e .
Quick Start
# Create a presentation with a template
power create deck.pptx -t Galaxy.pptx --title "My Presentation"
# Generate from YAML/JSON
power generate slides.yaml -o output.pptx -t Galaxy.pptx
# Inspect template layouts
power inspect Galaxy.pptx
# Interactive mode
power new -t Galaxy.pptx
CLI Commands
| Command | Description |
|---|---|
power create |
Create presentation with title slide |
power generate |
Generate from YAML/JSON specification |
power inspect |
Inspect template layouts and placeholders |
power new |
Interactive presentation builder |
power add |
Add slide to existing presentation |
power remove |
Remove slide by index |
power replace |
Replace {{PLACEHOLDER}} text |
YAML Format
title: Quarterly Report
subtitle: Q4 2024
slides:
- type: section
title: Executive Summary
- type: content
title: Key Points
bullets:
- First point
- Second point
- Third point
- type: table
title: Financial Data
headers: [Metric, Q3, Q4]
data:
- [Revenue, "$2.1M", "$2.6M"]
- [Profit, "$0.7M", "$1.1M"]
- type: chart
title: Sales by Region
chart_type: bar
categories: [North, South, East, West]
series:
2023: [100, 200, 150, 180]
2024: [120, 250, 170, 210]
Python API
from power import PowerPresentation
# Create with template
ppt = PowerPresentation(template="Galaxy.pptx")
ppt.clear_slides()
# Add slides
ppt.add_title_slide("Welcome", "Subtitle")
ppt.add_content_slide("Agenda", ["Topic 1", "Topic 2", "Topic 3"])
ppt.add_section_slide("Part 1")
# Custom slide with builder
slide = ppt.add_slide(5)
slide.set_title("Data Overview")
slide.add_table(
data=[["A", "100"], ["B", "200"]],
headers=["Item", "Value"]
)
slide.add_bar_chart(
categories=["Q1", "Q2", "Q3", "Q4"],
series_data={"Revenue": [100, 150, 200, 250]}
)
ppt.save("output.pptx")
Slide Types
- title: Title slide with optional subtitle
- section: Section header slide
- content: Bullet points slide
- table: Data table slide
- chart: Bar, line, or pie chart (bar, line, pie)
- blank: Empty slide for custom content
Requirements
- Python 3.9+
- python-pptx
- click
- rich
- pyyaml
- pillow
License
MIT
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
nietzsche-0.1.0.tar.gz
(12.2 kB
view details)
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
nietzsche-0.1.0-py3-none-any.whl
(13.5 kB
view details)
File details
Details for the file nietzsche-0.1.0.tar.gz.
File metadata
- Download URL: nietzsche-0.1.0.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19d02b0e6b039d3136a1ed5afdaa020875de0f9b139fb161444d21e593fb2d99
|
|
| MD5 |
991aa58ba3b35a4765f763c33cb45155
|
|
| BLAKE2b-256 |
959baae38a53df2c418b1d9e88b7ce0adddb32d8f28922ef67edb8523ad98931
|
File details
Details for the file nietzsche-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nietzsche-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66a3fd428458239d49d323cbcd11c00f1f17250bda82936992de43a218645348
|
|
| MD5 |
3e87808b13500ec6ebf98e2aa4542cd6
|
|
| BLAKE2b-256 |
afcae152530a47153c09bcf90ad6b873a4b286b8d08f0d0dbf98e6c4d79992e7
|