Metadata-Version: 2.4
Name: power-pptx
Version: 1.1.0
Summary: Create, read, and update PowerPoint 2007+ (.pptx) files. Actively-maintained fork of python-pptx, published as power-pptx.
Author-email: Daniel Halwell <danielhalwell@gmail.com>
Maintainer-email: Daniel Halwell <danielhalwell@gmail.com>
License: MIT
Project-URL: Changelog, https://github.com/codehalwell/power-pptx/blob/main/HISTORY.rst
Project-URL: Documentation, https://power-pptx.readthedocs.io/en/latest/
Project-URL: Homepage, https://github.com/codehalwell/power-pptx
Project-URL: Issues, https://github.com/codehalwell/power-pptx/issues
Project-URL: Repository, https://github.com/codehalwell/power-pptx
Project-URL: Roadmap, https://github.com/codehalwell/power-pptx/blob/main/ROADMAP.md
Project-URL: Upstream, https://github.com/scanny/python-pptx
Project-URL: UpstreamDocumentation, https://python-pptx.readthedocs.io/en/latest/
Keywords: powerpoint,ppt,pptx,openxml,office,presentation
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
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 :: Office Suites
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: Pillow>=3.3.2
Requires-Dist: XlsxWriter>=0.5.7
Requires-Dist: lxml>=3.1.0
Requires-Dist: typing_extensions>=4.9.0
Dynamic: license-file

power-pptx
==========

*power-pptx* is an actively-maintained fork of the excellent
`python-pptx`_ library by `Steve Canny`_, picking up where the upstream's
1.0.2 release left off. It is a Python library for creating, reading, and
updating PowerPoint (.pptx) files.

The import path is unchanged (``import pptx``) so it is a drop-in
replacement; only the distribution name on PyPI differs::

    pip install power-pptx

A typical use is generating a PowerPoint presentation from dynamic content
such as a database query, analytics output, or a JSON payload — perhaps in
response to an HTTP request — and downloading the generated PPTX file. It
runs on any Python-capable platform, including macOS and Linux, and does
not require Microsoft PowerPoint to be installed or licensed.

It can also be used to analyze PowerPoint files from a corpus, perhaps to
extract search-indexing text and images, or simply to automate the
production of a slide or two that would be tedious to get right by hand.

What's new in the fork
----------------------

The fork extends the 1.0.2 surface with features the upstream roadmap did
not cover.  All additions are drop-in compatible — existing scripts keep
working — and every new feature ships with a round-trip regression test.

* **Visual effects** — outer shadow, glow, soft edges, blur, and reflection
  exposed as non-mutating proxies on every shape; alpha-tinted colors
  (``RGBColor.alpha``); gradient fills with ``linear`` / ``radial`` /
  ``rectangular`` / ``shape`` kinds and mutable stops; line ends, caps,
  joins, and compound lines.
* **Animations and transitions** — preset entrance, exit, and emphasis
  effects; motion-path presets (line, diagonal, circle, arc, zigzag,
  spiral); per-paragraph reveal; sequencing context manager;
  per-slide and deck-wide transitions including Morph and the other
  ``p14:`` extension transitions.
* **Layout linter** — ``slide.lint()`` reports text overflow, off-slide
  shapes, and undeclared collisions, with optional ``auto_fix()`` and
  save-time hooks.
* **JSON authoring** — ``pptx.compose.from_spec(...)`` builds a deck from
  a JSON-shaped spec; ``import_slide`` and ``apply_template`` cover
  cross-presentation operations.
* **Theme reader and writer** — read theme colors and fonts; write fresh
  ``<a:srgbClr>`` values into the clrScheme; apply a theme imported from
  a ``.potx``.
* **Picture effects** — transparency, brightness, contrast, recolor
  (grayscale, sepia, washout, duotone); native SVG embedding with PNG
  fallback.
* **Design-system layer** — ``DesignTokens`` (palette, typography,
  shadows, radii, spacings) loadable from a dict, YAML, or a ``.pptx``;
  a token-resolving ``shape.style`` facade; ``Grid`` / ``Stack`` layout
  primitives; opinionated slide recipes (``title``, ``bullet``, ``kpi``,
  ``quote``, ``image_hero``); a starter pack of three example token sets.
* **Charting** — chart palette presets independent of ``chart_style``;
  ten quick-layout presets; full per-series gradient and pattern fills.
* **3D primitives and SmartArt text substitution** — bevel and extrusion
  via ``shape.three_d``; ``slide.smart_art[i].set_text([...])``.
* **Slide thumbnails** — ``Presentation.render_thumbnails()`` shells out
  to LibreOffice for PNG previews.

See ``HISTORY.rst`` for the full changelog and ``ROADMAP.md`` for the
broader plan.

Attribution
-----------

This project is a fork of `scanny/python-pptx`_, originally created and
maintained by Steve Canny under the MIT License. The original copyright
notice is preserved in ``LICENSE``. Sincere thanks to Steve and to all the
upstream contributors whose work this project builds on.

The fork was created to continue development of features the upstream
roadmap did not cover (notably effects, transitions, animations, theme
customization, and a higher-level design layer). See ``HISTORY.rst`` for
the divergence point and changelog from there forward.

This project is **not** affiliated with or endorsed by Microsoft.
"PowerPoint" is a trademark of Microsoft Corporation; it is used here only
descriptively to identify the file format the library reads and writes.

Documentation
-------------

The Sphinx documentation lives under ``docs/`` and covers both the
inherited 1.0.2 API and every feature added by the fork.  Browse
`examples with screenshots`_ to get a quick idea what you can do.

.. _`python-pptx`:
   https://github.com/scanny/python-pptx
.. _`scanny/python-pptx`:
   https://github.com/scanny/python-pptx
.. _`Steve Canny`:
   https://github.com/scanny
.. _`examples with screenshots`:
   https://python-pptx.readthedocs.org/en/latest/user/quickstart.html
