pypptx-with-oxml
Create, read, and update PowerPoint 2007+ (.pptx) files.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8 or later.
- MathML parsing is experimental and not yet production-ready.
- Low install friction with a pure-Python wheel and four common dependencies.
License · maintenance · safety
MIT (permissive) — MIT license is permissive, allowing use in commercial and private projects with minimal restrictions.
last release 2026-01-30 (196 days) · last repo commit 2025-05-16 · 1 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 153,743 downloads/mo, #10,870 on PyPI
Alternatives
Verify before relying
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)- 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.
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 on it.
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
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.
Requires Python 3.8 or later. MathML parsing is experimental and not yet production-ready.
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)
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 packagesPillowXlsxWriterlxmltyping_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 |
| Classifiers | 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 |
Evidence: pypptx_with_oxml-1.0.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “powerpoint pptx library python”
- pypptx-with-oxmlReads, creates, and updates PowerPoint (.pptx) files, with…
- python-pptxpython-pptx creates, reads, and updates PowerPoint (.pptx) files…
- aspose-slidesAspose.Slides generates, modifies, converts, and renders PowerPoint…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also latex2mathml · python-pptx · py-asciimath · aspose-slides · pptx2md · pymupdfpro · python-docx · marker-pdf · python-docx-ml6 · msoffcrypto-tool