A CLI tool for generating PowerPoint presentations
Project description
Nietzsche ⚡Power⚡Point⚡Generator
A CLI tool for generating PowerPoint presentations programmatically.
Installation
pip install nietzsche
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
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 nietzsche-0.1.5.tar.gz.
File metadata
- Download URL: nietzsche-0.1.5.tar.gz
- Upload date:
- Size: 13.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2dce671f2a31d699d2deeade2c79fd9c7a543fef690fce1907e72406b5716c0
|
|
| MD5 |
255cff2e3232691c98ab84aa5ee85e99
|
|
| BLAKE2b-256 |
03b4bd3e24235f46ba5c84fbc7a9685d02367706ef335cab2baffda5701f0be0
|
Provenance
The following attestation bundles were made for nietzsche-0.1.5.tar.gz:
Publisher:
python-publish.yml on yanndebray/nietzsche
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nietzsche-0.1.5.tar.gz -
Subject digest:
b2dce671f2a31d699d2deeade2c79fd9c7a543fef690fce1907e72406b5716c0 - Sigstore transparency entry: 813444386
- Sigstore integration time:
-
Permalink:
yanndebray/nietzsche@9660ef6264cf62e49a0ebe36a6cfc9672bf1531f -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/yanndebray
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@9660ef6264cf62e49a0ebe36a6cfc9672bf1531f -
Trigger Event:
release
-
Statement type:
File details
Details for the file nietzsche-0.1.5-py3-none-any.whl.
File metadata
- Download URL: nietzsche-0.1.5-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26d8fed6a833a4ba4879828bd1f4cfe7aa7771509c3c97da8f293eddecfae73f
|
|
| MD5 |
dba38a02eb27b04baec9b3693f9f320d
|
|
| BLAKE2b-256 |
8c0a67a1275818ef3f565d8e935e1a6ddf5a1340a8d15bfc75ce6de1a1ddd337
|
Provenance
The following attestation bundles were made for nietzsche-0.1.5-py3-none-any.whl:
Publisher:
python-publish.yml on yanndebray/nietzsche
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nietzsche-0.1.5-py3-none-any.whl -
Subject digest:
26d8fed6a833a4ba4879828bd1f4cfe7aa7771509c3c97da8f293eddecfae73f - Sigstore transparency entry: 813444389
- Sigstore integration time:
-
Permalink:
yanndebray/nietzsche@9660ef6264cf62e49a0ebe36a6cfc9672bf1531f -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/yanndebray
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@9660ef6264cf62e49a0ebe36a6cfc9672bf1531f -
Trigger Event:
release
-
Statement type: