Subcategories
Packages
Computes Jaro and Jaro-Winkler similarity and distance scores between two strings, with optional UTF-8 normalization, case sensitivity control, and homoglyph sanitization.
Install it if you need to compare short strings (names, addresses, codes) and want a non-edit-distance metric that handles transpositions and prefix similarity.
LiteParse provides Python bindings for fast, lightweight PDF and document parsing with spatial text extraction, OCR support, and output to JSON, plain text, or Markdown.
Install it if you need to parse PDFs or mixed document formats into structured text or Markdown; skip it only if you have a simpler use case or a strong preference…
Maps each value in a JSON document to its source location (line, column, character position) and JSON Pointer path, enabling precise error reporting and source-aware JSON processing.
Automate programmatic interaction with HTTP web servers by simulating a stateful browser—fill forms, follow links, manage history, and parse HTML without a GUI.
However, consider that maintenance is aging—last release was 840 days ago—so evaluate whether the package meets your Python version and modern web compatibility needs…
Converts ANSI escape sequences (color codes, formatting) from text to plain text output, removing all terminal styling.
However, verify the dual-license terms apply to your project, and consider whether you need active maintenance or bug fixes for your use case.
Extracts article text, metadata, and images from web pages and news sources, with support for multiple languages and automatic summarization.
The main gotcha is that bulk scraping can be slow and may trigger IP blocks on news sites; start with small batches and respect robots.txt.
Client library for Adobe PDF Services API, enabling programmatic creation, conversion, manipulation, and extraction of PDFs through REST endpoints.
Detects the delimiter character used in CSV, TSV, and other delimited text files by analyzing sample content and returning the most likely separator.
However, do not rely on it for production systems where bugs or edge cases could cause silent failures—consider it a utility for one-off scripts or low-stakes data…
Converts HTML content to Word documents (.docx), with support for styling, tables, images, and metadata.
Install it if you need to convert HTML to Word documents; the main limitation is fidelity of complex CSS styling, which is inherent to the Word format itself.
demoji finds and removes emojis from text, mapping each emoji to its Unicode description or replacing it with a plain-text equivalent.
Generates web feeds in ATOM and RSS formats, with support for extensions including podcast feeds.
Converts PDF, DOCX, PPTX, XLSX, images, and web pages into structured Markdown or JSON using VLM and OCR engines, supporting 109 languages and complex layouts.
However, the custom license treatment is unclear—verify the terms before commercial use.
Extracts text, images, headers, footers, footnotes, endnotes, comments, properties, and document structure from Microsoft Word .docx files into Python objects.
DateTimeRange creates and manipulates time range objects, supporting operations like containment checks, intersections, unions, truncation, and iteration over intervals.
Install it if your code frequently reasons about time intervals, overlaps, or iteration across date ranges.
Parses and extracts data from HWP Document Format v5 files, with experimental support for conversion to OpenDocument (.odt) or plain text (.txt) formats.
However, be aware that the last release was in 2020, the experimental conversion features may not be production-ready, and AGPLv3+ licensing imposes copyleft…
Provides a Python 3-style unicode CSV API that works consistently across Python 2.7 and Python 3, with UTF-8 as the default encoding and workarounds for stdlib CSV bugs.
However, if you are writing new code for Python 3 only, the standard library csv module is sufficient—install this only if cross-version compatibility is a real…
Playa-pdf reads PDF files and exposes their internal structure—pages, content streams, metadata, text, images, fonts, and logical structure trees—through a parallel, lazy, pure-Python interface with a command-line tool.
Generates random placeholder text that resembles Latin (lorem ipsum style) for use in templates, mockups, and testing.
However, verify compatibility with your Python version before relying on it in production, and consider maintaining a local fork if long-term support becomes necessary.
Parses JSON streams and large files without loading them entirely into memory, using a path-based iterator interface to extract specific nested objects.
Renders nested data structures as formatted ASCII tables with hierarchical column grouping and customizable alignment, wrapping, and ANSI color support.
Provides a single function that joins multi-line strings into clean, single-paragraph text by removing indentation and normalizing whitespace, making it easier to write readable long strings in Python code.
However, the dormant maintenance status means you should not expect active support; use it only for straightforward string formatting where you do not need ongoing…
Integrates LangChain with Unstructured to partition and load documents from files, supporting both API-based and local processing with configurable chunking strategies.
Install it if you are building RAG systems or document-processing pipelines with LangChain and want Unstructured's file handling without custom integration code.
Escapism provides two functions to escape and unescape text using a customizable escape character and safe-character set, plus a lossy slug generator that produces valid Kubernetes-compatible identifiers.
Aspose.Words for Python is a document processing library that lets you create, edit, convert, and render Word documents and related formats programmatically without requiring Microsoft Word or OpenOffice.
However, the license treatment is unclear—it is marked as restricted/proprietary, so verify licensing terms for your use case (personal, open-source, or commercial)…
Lunr is a lightweight, in-memory full-text search library that builds an inverted index from a set of documents and performs fast text searches without requiring a separate search server.
However, the aging maintenance status (524 days since last release) means you should verify compatibility with your specific Python version and use case before…
Converts strings between case styles (snake_case, camelCase, etc.) via Python bindings to the Rust heck library.
However, do not use it if you require ongoing maintenance, bug fixes, or support for new Python versions beyond 3.7.
Proces provides text preprocessing functions for cleaning and normalizing text, including whitespace handling, case conversion, traditional-to-simplified Chinese conversion, full-width to half-width character conversion, and sensitive information masking.
Parses JSON files with comments (.jsonc) and converts between .jsonc and .json formats, stripping comments in the process.
However, do not expect bug fixes or updates for newer Python versions.
A MkDocs plugin that embeds Swagger UI directly into documentation pages to display OpenAPI specifications, supporting both remote URLs and local files.
Converts markdown files with embedded reStructuredText markup to valid reStructuredText format, supporting Sphinx integration for building documentation directly from markdown sources.
Install it if you want to write Sphinx docs in markdown without losing rst markup or Sphinx extensions.
Parses human-readable time and bitrate strings (e.g. '120 sec', '1 Gbps') and converts them to numeric values in different units, or formats numeric values back to human-readable strings.
Install it if you need to accept or format human-readable time or bitrate strings; skip it if your code works only with numeric values already in a fixed unit.
Provides a curated dataset of English given names and their associated nicknames, accessible via a Python API with methods to look up nicknames for a name or canonical names for a nickname.
Implements the Unicode Collation Algorithm to sort strings in non-English languages correctly, handling accents, contractions, and expansions according to Unicode standards.
Install it if you need correct multilingual string sorting; it solves a real problem that Python's default sort does not.
Parses and formats overpunch-encoded numbers, a legacy numeric encoding used to represent signed decimal values in fixed-width fields.
Not recommended for new projects or systems without a specific requirement for this encoding.
Python SDK for communicating with Centrifugo v5 and v6 servers via HTTP API, providing both synchronous and asynchronous clients to publish messages, manage channels, and interact with Centrifugo's server-side features.
pdfrw2 reads, writes, and manipulates PDF files with operations including page subsetting, merging, rotating, metadata modification, and watermarking.
However, be cautious: the package is abandoned (last commit 2022-11-09), so it may not handle modern PDF features or newly discovered edge cases.
Calculates Jaro and Jaro-Winkler string similarity scores, optimized for performance and designed to integrate with rapidfuzz for batch operations on strings or sequences of hashable objects.
Not recommended if you require active maintenance or expect frequent updates to support new Python versions.
A Sphinx extension that automatically redirects requests for non-existent or renamed documentation pages to their current locations, resolving chains of redirects transparently.
English is a utility library providing English language processing functions for Python, with a single runtime dependency on six.
Parses and manipulates regular expressions by converting them to finite state machines, enabling operations like computing the intersection of two regexes to find strings both accept.
However, it is aging (no release since 2024-06-08); install it for a specific regex-algebra task, but do not expect active maintenance or rapid updates.