Skip to main content

Convert PPTX to text using python-pptx

Project description

pyconverters_pypowerpoint

license tests codecov docs version PyPI - Python Version

Convert PPTX presentations to Markdown using python-pptx.

Features

  • Converts PowerPoint slides to Markdown text (headings, lists, paragraphs, tables)
  • Optionally segments the output by slide (one Sentence span per page)
  • Optionally extracts embedded images as base64 data URIs, either as Markdown links or as AltText objects attached to the document
  • Registers as a pyconverters plugin under the entry point pypowerpoint

Requirements

  • Python ≥ 3.12

Installation

pip install pyconverters_pypowerpoint

Parameters

Parameter Type Default Description
one_segment_per_powerpoint_page bool False Add one Sentence span per slide in the output document
include_image_base64_as_links bool False Embed images as ![name](data:image/...;base64,...) links in the Markdown text
include_image_base64_as_altTexts bool False Attach images as AltText objects on the document (with mime-type property)

Developing

Pre-requisites

Install uv:

pip install uv

Clone the repository:

git clone https://github.com/oterrier/pyconverters_pypowerpoint
cd pyconverters_pypowerpoint

Install the package with test dependencies:

uv sync --extra test

Running the test suite

uv run pytest

Linting

uv run ruff check .
uv run ruff format --check .

Building the documentation

uv run --extra docs sphinx-build docs docs/_build

The built documentation is available at docs/_build/index.html.

SBOM & vulnerability check

Install the SBOM dependencies:

uv sync --extra sbom

Generate a CycloneDX SBOM from the current environment:

uv run cyclonedx-py environment -o sbom.cdx.json --output-format json

Audit dependencies for known vulnerabilities:

uv run pip-audit --format json --output audit-report.json

To fail on any known vulnerability (useful in CI):

uv run pip-audit --strict

Project details


Download files

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

Source Distribution

pyconverters_pypowerpoint-0.6.27.tar.gz (102.9 MB view details)

Uploaded Source

Built Distribution

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

pyconverters_pypowerpoint-0.6.27-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file pyconverters_pypowerpoint-0.6.27.tar.gz.

File metadata

  • Download URL: pyconverters_pypowerpoint-0.6.27.tar.gz
  • Upload date:
  • Size: 102.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pyconverters_pypowerpoint-0.6.27.tar.gz
Algorithm Hash digest
SHA256 81c5b7921df95cdc8b5622c85bbcbc29ffd6efa65092f08554311470fb6c1e3c
MD5 a4e1d23b5beda16785e57bb6a4b69e70
BLAKE2b-256 da12ac76fc9af8fcf3aebcde3edb732abc17fa2f3eca6cd76c4d25ec5809fe0e

See more details on using hashes here.

File details

Details for the file pyconverters_pypowerpoint-0.6.27-py3-none-any.whl.

File metadata

  • Download URL: pyconverters_pypowerpoint-0.6.27-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pyconverters_pypowerpoint-0.6.27-py3-none-any.whl
Algorithm Hash digest
SHA256 1e13d49096c23803be1fcd19828a62f33be7d7e7e8a1f2cfcb11d9944688035f
MD5 d6b8240cfad01832db4d116a92809409
BLAKE2b-256 d8e1fa772eaac09f9dd9c6a3c10264b50eec82478c4867f9d08440e6729d85a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page