A basic document parsing and loading utility - Loaders
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:
| Project | Description |
|---|---|
| docp-core | Centralized 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). |
The Toolset (Loaders)
As of this release, loaders for the following binary document types are supported:
- MS PowerPoint (PPTX)
- (more coming soon)
Quickstart
Installation
To install docp-loaders, first activate your target virtual environment, then use pip:
pip install docp-loaders
For older releases, visit PyPI or the GitHub Releases page.
Example Usage
For convenience, here are a couple examples for how to parse and load the supported document types into a ChromaDB vector database.
Parse and load a single PDF file into a Chroma database collection:
>>> from docp_loaders import ChromaPDFLoader
>>> l = ChromaPDFLoader(path='/path/to/chroma',
collection='spam')
>>> l.load(path='/path/to/directory/myfile.pdf')
Parse and load a directory of PDF files into a Chroma database collection:
>>> from docp_loaders import ChromaPDFLoader
>>> l = ChromaPDFLoader(path='/path/to/chroma',
collection='spam')
>>> l.load(path='/path/to/directory', ext='pdf')
Parse and load a single PDF file into a Chroma database collection, offline using a local embedding model:
>>> from docp_loaders import ChromaPDFLoader
>>> l = ChromaPDFLoader(path='/path/to/chroma',
collection='spam',
offline=True,
embedding_model_path='/path/to/embedding-model-repo')
>>> l.load(path='/path/to/directory/myfile.pdf')
Parse and load a single PPTX file into a Chroma database collection:
>>> from docp_loaders import ChromaPPTXLoader
>>> l = ChromaPPTXLoader(path='/path/to/chroma',
collection='spam',
split_text=False)
>>> l.load(path='/path/to/directory/myfile.pptx')
Parse and load a directory of PPTX files into a Chroma database collection:
>>> from docp_loaders import ChromaPPTXLoader
>>> l = ChromaPPTXLoader(path='/path/to/chroma',
collection='spam',
split_text=False)
>>> l.load(path='/path/to/directory', ext='pptx')
Using the Library
The documentation suite provides detailed explanations and usage examples for each importable module. For in-depth documentation, code examples, and source links, refer to the Library API 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 open an issue on GitHub.
Metadata
Release files for docp-loaders 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| docp_loaders-1.0.0.tar.gz | 10.9 MB | Without provenance | Details for docp_loaders-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| docp_loaders-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for docp_loaders-1.0.0-py3-none-any.whl |
Total release size: 11.0 MB
Release files / docp_loaders-1.0.0.tar.gz
| Download URL | docp_loaders-1.0.0.tar.gz |
|---|---|
| Size | 10.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
08a6091abd728b08a1d9d2edc12f11b473e819d61e70b49b5928bd3eed6192f4
|
|
BLAKE2b-256 checksum How to use checksums |
55c84942ee15c45dfff7603c6c2b4aba26296cc2c9eb464c61a1cf428c69e78c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.7
|
Release files / docp_loaders-1.0.0-py3-none-any.whl
| Download URL | docp_loaders-1.0.0-py3-none-any.whl |
|---|---|
| Size | 29.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e62b6742481480af66b497e5b5f94faa1bcd7b003ac4e85b2e7231c1f9beb76c
|
|
BLAKE2b-256 checksum How to use checksums |
48a80edc13e0664d625a9de1a4a4c748afb10e04f8ab7c20504df2976058549c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.7
|
Security for docp-loaders 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.