tinyhtml5
HTML parser based on the WHATWG HTML specification
Install
tinyhtml5 on PyPI
pip
pip install tinyhtml5uv
uv add tinyhtml5poetry
poetry add tinyhtml5Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — webencodings |
| Maintenance | actively maintained — 161 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: tinyhtml5-2.1.0-py3-none-any.whl
Keywords: html, parser
About tinyhtml5
from the package's own PyPI description — quoted content, verbatim
A tiny HTML5 parser
tinyhtml5 is a HTML5 parser that transforms a possibly malformed HTML document into an ElementTree tree.
This module is a simplified fork of html5lib, written and maintained by James Graham, Sam Sneddon, Łukasz Langa and Will Kahn-Greene.
- Free software: MIT license
- For Python 3.10+, tested on CPython and PyPy
- Documentation: https://doc.courtbouillon.org/tinyhtml5
- Changelog: https://github.com/CourtBouillon/tinyhtml5/releases
- Code, issues, tests: https://github.com/CourtBouillon/tinyhtml5
- Code of conduct: https://www.courtbouillon.org/code-of-conduct
- Professional support: https://www.courtbouillon.org
- Donation: https://opencollective.com/courtbouillon
Copyrights are retained by their contributors, no copyright assignment is required to contribute to tinyhtml5. Unless explicitly stated otherwise, any contribution intentionally submitted for inclusion is licensed under the MIT license, without any additional terms or conditions. For full authorship information, see the version control history.
Read as markdown · JSON record · Source repository · Homepage · Docs
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
tinyhtml5 is a lightweight HTML5 parser that converts possibly malformed HTML documents into ElementTree trees, suitable for parsing and processing HTML with minimal overhead.
Low friction: pure Python wheel with a single runtime dependency (webencodings). Actively maintained with recent releases; last commit 2026-03-05 and marked Production/Stable.
MIT license (permissive) means you can use, modify, and distribute tinyhtml5 freely in commercial and private projects with minimal restrictions, provided you retain attribution.
Usage
pip install tinyhtml5
import tinyhtml5
doc = tinyhtml5.parse('<html><body>Hello</body></html>')
Requires Python 3.10 or later; tested on CPython and PyPy.
Verdict: tinyhtml5 is a production-ready, low-friction HTML5 parser for Python 3.10+ with permissive MIT licensing and no known vulnerabilities. Its single dependency and active maintenance make it a reliable choice for HTML parsing tasks, though its small community (9 GitHub stars) and recent creation (first release 2024-09-18) suggest it remains relatively new.
Needs verification
- Performance characteristics compared to html5lib or other parsers—whether 'tiny' refers to code size, memory footprint, or parsing speed
- Whether the ElementTree output format is compatible with standard library xml.etree.ElementTree or uses a custom variant
Similar packages
permissive · top 1,000 on PyPI
pydyfpermissive · top 1,000 on PyPI
webcolorspermissive · top 1,000 on PyPI
tinycss2permissive · top 1,000 on PyPI
cssselect2permissive · top 1,000 on PyPI
pyphencopyleft · top 1,000 on PyPI
weasyprintpermissive · top 1,000 on PyPI
lxmlpermissive · top 1,000 on PyPI
webencodingspermissive · top 1,000 on PyPI
llama-index-llms-openaipermissive · top 1,000 on PyPI