skillfed

readabilipy

Python wrapper for Mozilla's Readability.js

readabilipy v0.3.0 1.5M downloads/30d#3,843 on PyPI359
Permissive license MIT DORMANT released

What it is and what it does

ReadabiliPy wraps Mozilla's Readability.js Node.js package and provides a pure-Python alternative for extracting article content from HTML. It parses web pages and returns structured data including the article title, byline, simplified HTML, and plain text paragraphs. The package offers two extraction modes: one using Readability.js (requires Node.js 14 or higher) and one using a built-in Python parser that requires no external dependencies beyond beautifulsoup4, html5lib, lxml, and regex.

You can use it as a command-line tool to batch-process HTML files into JSON, or import it as a library in Python code. The library normalizes all text output using NFKC Unicode normalization and optionally adds SHA-256 content digests or hierarchical node indexes to the output structure.

Use it for:

  • Extract article text from web pages for content analysis or archival without manual HTML parsing.
  • Build a scraper that converts HTML articles into structured JSON with title, author, and plain text paragraphs.
  • Process downloaded HTML files in batch via the command-line tool to generate article metadata and content.
  • Create a content pipeline that needs both structured HTML and plain text representations of articles.
  • Compare extraction quality between Readability.js and Python-only parser outputs on the same content.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Extracts article content from HTML using either Mozilla's Readability.js or a pure-Python parser, returning structured data with title, byline, simplified HTML, and plain text representations.

Yes, if you need reliable article extraction from HTML. The package is stable with low install friction and no known vulnerabilities. Dormant maintenance is typical for extraction tools that reach a stable state. Choose it for production use if you can accept either Node.js as a dependency or the pure-Python fallback; avoid it only if you need active feature development.

Install

readabilipy on PyPI

pip

pip install readabilipy

uv

uv add readabilipy

poetry

poetry add readabilipy

Installing readabilipy

Before you install

Low install friction with a pure-Python fallback path. Dormant maintenance (last release 620 days ago, last commit 2024-12-02) but repository remains active. Supports Python 3.6 through 3.12.

License in practice

MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license and copyright notice.

Quickstart

pip install readabilipy

from readabilipy import simple_json_from_html_string
article = simple_json_from_html_string(html_string, use_readability=False)
print(article['title'], article['plain_text'])

To use Readability.js mode, Node.js version 14 or higher must be installed before installing readabilipy. Python-only mode requires no external dependencies beyond the package's runtime dependencies.

Verify before relying

  • Whether Readability.js integration remains compatible with current Node.js versions given dormant maintenance status.
  • Performance and accuracy differences between Readability.js and pure-Python extraction modes on modern web content.
  • Real-world extraction quality on contemporary HTML structures and article formats.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.6.0)
Install friction low — pure-Python wheel
Runtime dependencies 4 — beautifulsoup4, html5lib, lxml, regex
Maintenance dormant — 620 days since the last release
Last repo commit
First released
Downloads 1,490,968/month — #3,843 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: readabilipy-0.3.0-py3-none-any.whl

License :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Tags

extract article from htmlreadability parser pythonweb content extractionhtml to plain textarticle scraping librarymozilla readability wrappercontent extraction tool
web-scrapingcontent-extractionhtml-parsing

More HTML packages