Skip to main content

A parser for extracting text from PDFs using Slate.

Project description

Swarmauri Logo

PyPI - Downloads Hits PyPI - Python Version PyPI - License PyPI - swarmauri_parser_slate

Swarmauri Parser Slate

PDF text parser for Swarmauri using Slate3k (a lightweight PDFMiner wrapper). Extracts text from each PDF page and returns Document instances with page metadata.

Features

  • Opens PDFs with Slate3k and returns a Document per page (content = text, metadata includes page_number and source).
  • Accepts file paths (string). Raises a TypeError when given anything else to prevent silent failures.
  • Returns an empty list if Slate encounters parsing errors, logging the exception to stdout.

Prerequisites

  • Python 3.10 or newer.
  • Slate3k depends on pdfminer.six; make sure operating-system libraries required by PDFMiner (e.g., libxml2, libxslt on Linux) are installed.
  • Read access to the PDF path you pass in.

Installation

# pip
pip install swarmauri_parser_slate

# poetry
poetry add swarmauri_parser_slate

# uv (pyproject-based projects)
uv add swarmauri_parser_slate

Quickstart

from swarmauri_parser_slate import SlateParser

parser = SlateParser()
documents = parser.parse("pdfs/handbook.pdf")

for doc in documents:
    print(doc.metadata["page_number"], doc.content[:120])

Handling Errors

parser = SlateParser()
try:
    docs = parser.parse("missing.pdf")
    if not docs:
        print("No pages parsed or Slate returned no text.")
except TypeError as exc:
    print(f"Bad input: {exc}")

Tips

  • Slate3k works best on text-based PDFs. For scanned/bitmap PDFs, run OCR first (e.g., swarmauri_ocr_pytesseract).
  • Large PDFs can consume memory; consider chunking results or streaming pages to downstream processors.
  • Combine with token counting or summarization measurements in Swarmauri to further process the extracted content.

Want to help?

If you want to contribute to swarmauri-sdk, read up on our guidelines for contributing that will help you get started.

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

swarmauri_parser_slate-0.3.1.dev3.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

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

swarmauri_parser_slate-0.3.1.dev3-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file swarmauri_parser_slate-0.3.1.dev3.tar.gz.

File metadata

  • Download URL: swarmauri_parser_slate-0.3.1.dev3.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_parser_slate-0.3.1.dev3.tar.gz
Algorithm Hash digest
SHA256 7e1fd131983ef4874a1ceccd00442c3827f8102159840cb22b0ba6f6753d2436
MD5 491438d2011a46871be3df8037e45fc9
BLAKE2b-256 1f71c79b87b60649db5d67e8a66226f934b713ed4e48353abaa6c8086acea8e4

See more details on using hashes here.

File details

Details for the file swarmauri_parser_slate-0.3.1.dev3-py3-none-any.whl.

File metadata

  • Download URL: swarmauri_parser_slate-0.3.1.dev3-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_parser_slate-0.3.1.dev3-py3-none-any.whl
Algorithm Hash digest
SHA256 5141ea6cfab86d0bede969a27dfbde752e1e0a0ee7d731a18516d22391d8da1f
MD5 c4badf6893360d7506ab2bfbe280187b
BLAKE2b-256 ae2a94fe234dbd1c915e00557b5c5608f58d8e4df19d2b506edf7ed217f7d82c

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