docp-parsers Library Documentation

Overview

The docp-* project suite is designed as a comprehensive (doc)ument (p)arsing library. Built in CPython, it consolidates the capabilities of various lower-level libraries, offering a unified solution for parsing binary document structures.

The suite is extended by several sister projects, each providing unique functionality:

Table 1 Extended Functionality

Project

Description

docp-core

Centralised core objects, functionality and settings.

docp-parsers

Parse binary documents (e.g. PDF, PPTX, etc.) into Python objects.

docp-loaders

Load a parsed document’s embeddings into a Chroma vector database, for RAG-enabled LLM use.

docp-docling

Convert a PDF into Markdown format via wrappers to the docling libraries.

docp-dbi

Interfaces to document databases such as ChromaDB, and Neo4j (coming soon).

Toolset (docp-parsers)

As of this release, parsers for the following binary document types are supported:

  • PDF

  • MS PowerPoint (PPTX)

  • more coming soon …

Quickstart

Installation

To install docp-parsers, first activate your target virtual environment, then use pip:

pip install docp-parsers

For older releases, visit PyPI or the GitHub Releases page.

Example Usage

For convenience, here are a couple examples for how to parse the supported document types.

Extract text from a PDF file:

>>> from docp_parsers import PDFParser

>>> pdf = PDFParser(path='/path/to/myfile.pdf')
>>> pdf.extract_text()

# Access the content of page 1.
>>> pg1 = pdf.pages[1].content

Extracting text from a PowerPoint presentation is very similar:

>>> from docp_parsers import PPTXParser

>>> pptx = PPTXParser(path='/path/to/myfile.pptx')
>>> pptx.extract_text()

# Access the text on slide 1.
>>> pg1 = pptx.slides[1].content

Using the Library

This documentation provides detailed explanations and usage examples for each importable module. For in-depth documentation, code examples, and source links, refer to the Library API Documentation page.

A search field is available in the left navigation bar to help you quickly locate specific modules or methods.

Troubleshooting

No troubleshooting guidance is available at this time.

For questions not covered here, or to report bugs, issues, or suggestions, please contact us or open an issue on GitHub.

Documentation Contents

Indices and Tables

Last updated: 24 Jan 2026