Skip to main content

rpptx-py

Native rpptx for Python

rpptx gives Python applications a native PPTX workflow for creating, opening, editing, and saving PowerPoint-compatible presentations. It also supports comments, speaker notes, and deterministic rendering. It works directly with OOXML packages and does not require Microsoft PowerPoint, LibreOffice, a conversion service, or a Java or .NET runtime.

The package uses the Rust rpptx presentation engine and ships with a default presentation template for from-scratch deck creation.

Installation

Install the current release from PyPI:

python -m pip install rpptx

rpptx requires CPython 3.9 or newer. Its platform wheels use the Python 3.9 stable ABI, so one wheel supports multiple compatible Python versions. Source installation requires a Rust toolchain and maturin.

Quick start

from rpptx import Presentation
from rpptx.util import Inches

presentation = Presentation()
slide = presentation.slides.add_slide(presentation.slide_layouts[6])
text_box = slide.shapes.add_textbox(
    Inches(1), Inches(1), Inches(8), Inches(1)
)
text_box.text = "Quarterly review"
presentation.save("review.pptx")

pdf = presentation.to_pdf()
with open("review.pdf", "wb") as output:
    output.write(pdf)

Capabilities

  • File and byte-based PPTX input and output.
  • Slide layouts, slides, placeholders, shapes, text frames, paragraphs, runs, pictures, preset shapes, and tables.
  • Deterministic PDF and PNG output for slides and speaker notes.
  • Speaker-note text plus modern comment authors, threads, replies, and ordered comment movement.
  • Read speaker-note text and inspect or mutate modern comment threads.
  • Python collections with negative indexes, slices, iteration, and explicit stale-handle errors after structural changes.

Use it when

Use rpptx when a Python service, desktop application, or automation task needs to create, inspect, update, comment on, or render presentations locally. It is suited to generated decks, template workflows, review, and previews.

Relationship

The Python API is intentionally focused. It covers the documented rpptx surface and the reviewed python-pptx Getting Started workflows, but it is not a drop-in replacement for every python-pptx method or private lxml object.

Example

Open and inspect an existing presentation:

from rpptx import Presentation

presentation = Presentation("deck.pptx")
print(len(presentation.slides))
png = presentation.render_slide_to_png(0)
for slide in presentation.slides:
    print(slide.notes_text or "")

Type checking

The distribution includes hand-written extension stubs and a py.typed marker. Editors and type checkers can inspect concrete presentation, slide, shape, text, table, notes, and comment types.

python -m pip install mypy
python -m mypy your_application.py

The release gate validates the installed package with strict mypy and stubtest in addition to its runtime suite.

License

Licensed under either the MIT License or the Apache License 2.0, at your option.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rpptx-0.11.0.tar.gz (5.8 MB view details)

Uploaded Source

Built Distributions

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

rpptx-0.11.0-cp39-abi3-win_amd64.whl (10.5 MB view details)

Uploaded CPython 3.9+Windows x86-64

rpptx-0.11.0-cp39-abi3-musllinux_1_2_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

rpptx-0.11.0-cp39-abi3-manylinux_2_28_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ x86-64

rpptx-0.11.0-cp39-abi3-manylinux_2_28_aarch64.whl (10.1 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ ARM64

rpptx-0.11.0-cp39-abi3-macosx_11_0_arm64.whl (10.2 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

rpptx-0.11.0-cp39-abi3-macosx_10_12_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file rpptx-0.11.0.tar.gz.

File metadata

  • Download URL: rpptx-0.11.0.tar.gz
  • Upload date:
  • Size: 5.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for rpptx-0.11.0.tar.gz
Algorithm Hash digest
SHA256 f6df7229b77cf361b21c757a195481d31ea4725b6c8d9da44296854cfc6600fe
MD5 47e67b4d690c8906e946ed62a8efe9c9
BLAKE2b-256 5abbfd8123c4e1324b4fcca7e954d0aeddee6148ccce91b55281ec9022b63664

See more details on using hashes here.

Provenance

The following attestation bundles were made for rpptx-0.11.0.tar.gz:

Publisher: wheels.yml on tensorbee/rdocx

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

File details

Details for the file rpptx-0.11.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: rpptx-0.11.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for rpptx-0.11.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 dabb650d1bc4eb0f8907460db12400e6215004197caad2ca3248e1da80aa2443
MD5 abb18892664e55eca114ddc596f38b8b
BLAKE2b-256 84b07ecb51fc235475b6ea09b2ed6925cb7946da93b5e4e61b7cbfb0ae76b556

See more details on using hashes here.

Provenance

The following attestation bundles were made for rpptx-0.11.0-cp39-abi3-win_amd64.whl:

Publisher: wheels.yml on tensorbee/rdocx

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

File details

Details for the file rpptx-0.11.0-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rpptx-0.11.0-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ca9ab27a7ed7203a8001ef384cbfa2ee6b7d10eab61f350e64192491fba66348
MD5 e88319b06797b55048e7cc8000626b91
BLAKE2b-256 0ce6f2dfbc79167a9bb871489eec1ddc567540c061b456c56be1c0a54f145596

See more details on using hashes here.

Provenance

The following attestation bundles were made for rpptx-0.11.0-cp39-abi3-musllinux_1_2_x86_64.whl:

Publisher: wheels.yml on tensorbee/rdocx

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

File details

Details for the file rpptx-0.11.0-cp39-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rpptx-0.11.0-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2970d0414a275bdfb94dcd7c119e60a9646899a6204608b1a90b1719717c65bf
MD5 19cfbec206c2755d95caa4079757d3d7
BLAKE2b-256 923b49c03bfb7d9ebfe73d350162ff35afc16ce1ecb78d122615d92eb403cade

See more details on using hashes here.

Provenance

The following attestation bundles were made for rpptx-0.11.0-cp39-abi3-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on tensorbee/rdocx

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

File details

Details for the file rpptx-0.11.0-cp39-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for rpptx-0.11.0-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ede45867c622ed106c997d91dc2b8c763ca59a9e08b718f02395a6d71ebe89d6
MD5 8114af5aa9d0696fc866a71228a07b60
BLAKE2b-256 b840711a135c37ae7e6bef5aec80c5fcf79345ebabec4cdbad6ac6f17ab0d763

See more details on using hashes here.

Provenance

The following attestation bundles were made for rpptx-0.11.0-cp39-abi3-manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on tensorbee/rdocx

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

File details

Details for the file rpptx-0.11.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rpptx-0.11.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44d5d1590b7ff368ea07fc21f6262ef32310008a2fc26bf8402faf8b018f316f
MD5 3264398d90d4a938a39bff9e296c3c21
BLAKE2b-256 909b0e78cdf25df4a95c474fdf62cb56476f61b886411e30618e20814bfa6351

See more details on using hashes here.

Provenance

The following attestation bundles were made for rpptx-0.11.0-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: wheels.yml on tensorbee/rdocx

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

File details

Details for the file rpptx-0.11.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rpptx-0.11.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d594baae6981084bf011a2a2e8165e4ce7efe5e2b7bc268d6a92282f6b5c13ef
MD5 ed1e7df7c21c316407147623d95b720f
BLAKE2b-256 7cf253fbd83af3cb1e6fe793fc81a9d03224d5c4c18521af7fd75431baf84cdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for rpptx-0.11.0-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on tensorbee/rdocx

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.11.0 This release

7 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