skillfed

pypptx-with-oxml

Create, read, and update PowerPoint 2007+ (.pptx) files.

pypptx-with-oxml v1.0.3 153.7K downloads/30d#10,870 on PyPI1
Permissive license MIT AGING released

What it is and what it does

pypptx-with-oxml is a fork of python-pptx that extends PowerPoint file manipulation with experimental MathML parsing. It lets you read, create, and modify .pptx files programmatically without requiring Microsoft Office, and adds the ability to extract mathematical equations from slides as LaTeX strings. The core library depends on Pillow, XlsxWriter, lxml, and typing_extensions.

The fork is still experimental and not recommended for production use. It passes tests on Python 3.10 and 3.11 but has known gaps: no tests or documentation exist for the new MathML features, and one font-properties test fails. The package also fixes TIFF image parsing, a separate improvement from the math extraction feature. Use it when you need to programmatically generate or analyze PowerPoint presentations, especially if you need to extract or work with embedded equations.

Use it for:

  • Extract mathematical equations from PowerPoint slides as LaTeX for conversion to other formats.
  • Generate PowerPoint presentations dynamically from database queries or JSON payloads.
  • Analyze a corpus of PowerPoint files to extract text, images, and equations for indexing.
  • Automate the creation of repetitive slide decks that would be tedious to build manually.
  • Convert PowerPoint presentations to other formats while preserving math content.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Reads, creates, and updates PowerPoint (.pptx) files, with experimental support for parsing MathML equations from slides and converting them to LaTeX strings.

Yes, if you need to work with PowerPoint files programmatically and can tolerate experimental MathML support. The core library is stable, but this fork's new math-parsing features are not production-ready—test thoroughly before relying on equation extraction in critical workflows. No known security vulnerabilities. Low install friction and permissive MIT license make it reasonable for prototyping or non-critical automation.

Install

pypptx-with-oxml on PyPI

pip

pip install pypptx-with-oxml

uv

uv add pypptx-with-oxml

poetry

poetry add pypptx-with-oxml

Installing pypptx-with-oxml

Before you install

Low install friction with a pure-Python wheel and four common dependencies. Maintenance status is aging—last commit was 196 days ago and the repository has minimal activity (1 star)—but the package is not archived and passes tests on Python 3.10 and 3.11.

License in practice

MIT license is permissive, allowing use in commercial and private projects with minimal restrictions.

Quickstart

pip install pypptx-with-oxml

from pypptx_with_oxml import Presentation

prs = Presentation('example.pptx')
for slide in prs.slides:
    for shape in slide.shapes:
        if hasattr(shape, 'text_frame'):
            for paragraph in shape.text_frame.paragraphs:
                for run in paragraph.runs:
                    print(run.text)

Requires Python 3.8 or later. MathML parsing is experimental and not yet production-ready.

Verify before relying

  • Whether MathML parsing works reliably on PowerPoint files from Microsoft Office or other sources.
  • Performance characteristics when processing large presentations with many math elements.
  • Compatibility with the original python-pptx ecosystem and whether this fork is a drop-in replacement.
  • Status of the txt-font-props.feature test failure and its impact on real-world usage.
  • Whether the TIFF image parsing fix is complete and tested.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 4 — Pillow, XlsxWriter, lxml, typing_extensions
Maintenance aging — 196 days since the last release
Last repo commit
First released
Downloads 153,743/month — #10,870 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pypptx_with_oxml-1.0.3-py3-none-any.whl

Keywords: powerpoint, ppt, pptx, openxml, office

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Office/Business :: Office SuitesTopic :: Software Development :: Libraries

Tags

powerpoint pptx library pythoncreate read update pptx filesmathml latex conversion powerpointextract equations from slidespowerpoint automation pythonpptx parsing and generationoffice document manipulation
office-automationmathml-latexexperimental

More Libraries packages