Skip to main content

Nietzsche ⚡Power⚡Point⚡Generator

PyPI Docs License

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)

Source distribution for nietzsche 0.2.0
File Size Uploaded
nietzsche-0.2.0.tar.gz 19.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nietzsche 0.2.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page