html-table-parser-python3
A small and simple HTML table parser not requiring any external dependency.
What it is and what it does
html-table-parser-python3 is a lightweight HTML table parser that requires only Python's standard library. It extracts tables from HTML markup and returns them as nested lists—tables contain rows, rows contain cells as strings—with all HTML tags stripped and text content joined. The package includes both a programmatic API and a command-line tool for converting HTML tables to CSV.
The parser is intentionally minimal; the author notes that copying the single class from parse.py into your own code is a viable alternative to installing the package. It supports Python 3.4 through 3.11 and has no external dependencies, making it suitable for simple table extraction tasks where you want to avoid heavyweight parsing libraries.
Use it for:
- Extract tabular data from archived or static HTML pages for data analysis or migration
- Convert HTML tables to CSV format using the included command-line tool
- Parse tables from web scraping tasks when you want to avoid external dependencies
- Quick prototyping of table extraction logic without adding library dependencies to your project
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses HTML tables into nested lists of rows and cells without requiring external dependencies, stripping tags and extracting text content.
Yes, if you need simple HTML table extraction without external dependencies and can accept an abandoned codebase. The package is stable and works on current Python versions, but it will not receive updates. Consider copying the class directly into your code if you want to avoid a dependency on an unmaintained package. The AGPL-3.0-or-later license requires careful review for proprietary use.
Install
html-table-parser-python3 on PyPI
pip
pip install html-table-parser-python3uv
uv add html-table-parser-python3poetry
poetry add html-table-parser-python3Installing html-table-parser-python3
Before you install
Low install friction with no runtime dependencies. However, the package is abandoned—last commit was 2022-12-12 and no updates have been released since the latest release on 2022-12-06. It remains functional for current Python versions but will not receive bug fixes or security updates.
License in practice
Licensed under AGPL-3.0-or-later, which requires derivative works and modifications to be released under the same license and made available to users. This is a strong copyleft license; using it in proprietary software requires careful licensing review.
Quickstart
from html_table_parser import TableHTMLParser
parser = TableHTMLParser()
parser.feed(html_string)
tables = parser.tables
Verify before relying
- Whether the package handles malformed or edge-case HTML robustly given its abandoned status
- Performance characteristics on large HTML documents or tables with many rows
Package facts
| License | AGPL-3.0-or-later (agpl) |
| Python support | supports the current Python release (>=3,<4) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,347 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 78,556/month — #14,430 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: html_table_parser_python3-0.3.1-py3-none-any.whl
Tags
More HTML packages
MarkupSafe provides a text object that escapes…
permissive · top 100 on PyPI
Jinja2Jinja2 is a templating engine that renders…
permissive · top 100 on PyPI
beautifulsoup4Beautiful Soup parses HTML and XML documents…
permissive · top 100 on PyPI
lxmllxml provides Python bindings to libxml2 and…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
MarkdownConverts Markdown text to HTML using a Python…
permissive · top 1,000 on PyPI
numbers-parserRead, edit, and write Apple Numbers spreadsheet…
permissive · top 5,000 on PyPI
texttableCreates formatted ASCII tables for console…
permissive · top 1,000 on PyPI
camelot-pyExtracts tables from PDFs into pandas…
permissive · top 5,000 on PyPI
aspose-cells-pythonAspose.Cells for Python via .NET creates,…
unclear · top 15,000 on PyPI
sttableParses string-formatted tables (with…
permissive · top 15,000 on PyPI
html-to-jsonConverts HTML documents and HTML tables into…
permissive · top 15,000 on PyPI
img2tableIdentifies and extracts tables from images and…
permissive · top 15,000 on PyPI
aspose-cellsAspose.Cells for Python via Java is a library…
unclear · top 15,000 on PyPI
query-stringParses URL query strings and fragments into…
permissive · top 15,000 on PyPI
tabulatorReads and writes tabular data in multiple…
permissive · top 15,000 on PyPI