Nietzsche ⚡Power⚡Point⚡Generator
A CLI tool for generating PowerPoint presentations programmatically.
Installation
Install this tool using uv:
uv tool install nietzsche
Or using pip:
pip install nietzsche
Or run it directly without installing using uvx:
uvx --from nietzsche power --help
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 |
power cloud |
Generate presentations via cloud API |
Cloud API
Generate presentations via REST API:
# Check API health
power cloud health
# Generate via cloud
power cloud generate slides.yaml -o presentation.pptx
# Or use the REST API directly
curl -X POST "https://power-api-944767079044.us-central1.run.app/generate" \
-H "Content-Type: application/json" \
-d '{"title": "My Deck", "slides": [{"type": "content", "title": "Hello", "bullets": ["Point 1"]}]}' \
--output presentation.pptx
API Documentation: https://power-api-944767079044.us-central1.run.app/
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
Metadata
Release files for nietzsche 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nietzsche-0.2.0.tar.gz | 19.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nietzsche-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.0 kB
Release files / nietzsche-0.2.0.tar.gz
| Download URL | nietzsche-0.2.0.tar.gz |
|---|---|
| Size | 19.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f454883a20c6ab11756201fb8dceaa6bdbedbe80574af2fc98a267b7e0647547
|
|
BLAKE2b-256 checksum How to use checksums |
9d9b3feae4bf909ecab3265ba29e752273400b49c574d9b14217d1546d20d3d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 12, 2026.
Transparency logRelease files / nietzsche-0.2.0-py3-none-any.whl
| Download URL | nietzsche-0.2.0-py3-none-any.whl |
|---|---|
| Size | 22.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
84e41e4366f9b3eac3f930bff0ca266a853645b349f177e14f11a261b446d444
|
|
BLAKE2b-256 checksum How to use checksums |
b76b125fb0b916c3ea8330a701a2a8f130a30422c88e4576de75f0f2f7672c60
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 12, 2026.
Transparency log