Metadata-Version: 2.4
Name: mspptx
Version: 0.2.1
Summary: Python tools for PowerPoint OOXML documents, including MS-PPTX extension namespaces
Author: Anthony Shaw
License-Expression: MIT
Keywords: pptx,powerpoint,ooxml,ms-pptx,office,presentationml
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: lxml>=6.1.0
Requires-Dist: pydantic>=2.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0; extra == "dev"
Requires-Dist: ruff>=0.4; extra == "dev"
Requires-Dist: hypothesis>=6.0; extra == "dev"
Provides-Extra: qa
Requires-Dist: PyMuPDF>=1.24; extra == "qa"
Dynamic: license-file

# mspptx

Python tools for PowerPoint OOXML documents, including MS-PPTX extension namespaces (p14/p15/p16).

## Overview

`mspptx` is a Python package for working with PowerPoint `.pptx` files, including the published [MS-PPTX specification](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-pptx/efd8bb2d-d888-4e2e-af25-cad476730c9f). It supports extension namespaces that are not part of the base ISO/IEC 29500 standard.

## Installation

```bash
pip install mspptx
```

## Quick Start

```python
from mspptx.presentation import Presentation
from mspptx.oxml.slide import get_shape_tree
from mspptx.oxml.shapes import make_textbox
from mspptx.oxml.transitions import make_morph_transition

pres = Presentation.new()
slide = pres.add_slide()

sp_tree = get_shape_tree(slide)
sp_tree.append(make_textbox(914400, 914400, 7315200, 914400, "Hello World!", bold=True, size=3200))

slide.append(make_morph_transition())  # MS-PPTX extension!

pres.save("output.pptx")
```

## Specification Reference

https://learn.microsoft.com/en-us/openspecs/office_standards/ms-pptx/efd8bb2d-d888-4e2e-af25-cad476730c9f
