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

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.2.0.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nietzsche-0.2.0-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file nietzsche-0.2.0.tar.gz.

File metadata

  • Download URL: nietzsche-0.2.0.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nietzsche-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f454883a20c6ab11756201fb8dceaa6bdbedbe80574af2fc98a267b7e0647547
MD5 1a970a4ffecde6eaba44ae2f64c4d090
BLAKE2b-256 9d9b3feae4bf909ecab3265ba29e752273400b49c574d9b14217d1546d20d3d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for nietzsche-0.2.0.tar.gz:

Publisher: python-publish.yml on yanndebray/nietzsche

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nietzsche-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: nietzsche-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nietzsche-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 84e41e4366f9b3eac3f930bff0ca266a853645b349f177e14f11a261b446d444
MD5 732e7718a54cdf346152d263415f91cc
BLAKE2b-256 b76b125fb0b916c3ea8330a701a2a8f130a30422c88e4576de75f0f2f7672c60

See more details on using hashes here.

Provenance

The following attestation bundles were made for nietzsche-0.2.0-py3-none-any.whl:

Publisher: python-publish.yml on yanndebray/nietzsche

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page