Install this version:
emerge -a =dev-python/turbohtml-1.15.3
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-python/turbohtml-1.15.3
Or alternatively:
emerge --autounmask-write -a =dev-python/turbohtml-1.15.3
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 1.15.3 | 8 | ~amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=meson-python
PYTHON_COMPAT=( python3_{12..15} )
inherit distutils-r1 git-r3 pypi
DESCRIPTION="A fast, fully typed HTML toolkit for Python, powered by a C-accelerated core"
HOMEPAGE="
https://github.com/tox-dev/turbohtml/
https://pypi.org/project/turbohtml/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
BDEPEND="
>=dev-build/meson-1.12.1
test? (
dev-python/coverage[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/elementpath[${PYTHON_USEDEP}]
dev-python/feedparser[${PYTHON_USEDEP}]
dev-python/html5lib[${PYTHON_USEDEP}]
dev-python/httpx2[${PYTHON_USEDEP}]
dev-python/jinja2[${PYTHON_USEDEP}]
dev-python/linkify-it-py[${PYTHON_USEDEP}]
dev-python/lxml[${PYTHON_USEDEP}]
dev-python/markdown-it-py[${PYTHON_USEDEP}]
dev-python/pandas[${PYTHON_USEDEP}]
dev-python/pyquery[${PYTHON_USEDEP}]
>=dev-python/pytest-9.1.1[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/tenacity[${PYTHON_USEDEP}]
dev-python/tinycss2[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=( pytest-mock )
distutils_enable_tests pytest
EPYTEST_IGNORE=(
# require pyperf + pytest-codspeed
tests/benchmarks
# require unicodetools
tests/conformance
tests/url/test_idna.py
# needs the fuzz-only extension build
tests/test_fuzz_self_test.py
# needs pyperf
tests/test_bench_worker.py
)
EPYTEST_DESELECT=(
# these patch re.sub globally to assert the C engine never falls back to
# Python's re; epytest's junitxml plugin then calls re.sub on every test
# report and the AssertionError kills the session with an INTERNALERROR
tests/query/xpath/test_functions.py::test_regex_backreference_backtracking_limit_raises
tests/query/xpath/test_functions.py::test_regex_matches_like_python_re
tests/query/xpath/test_functions.py::test_regex_ignore_case_matches_like_python_re
tests/query/xpath/test_functions.py::test_regex_word_boundary_on_empty_text
tests/query/xpath/test_functions.py::test_regex_syntax_beyond_the_linear_engine_raises_value_error
tests/query/xpath/test_functions.py::test_regex_malformed_pattern_raises_re_error
tests/query/xpath/test_functions.py::test_regex_oversized_pattern_raises_value_error
tests/query/xpath/test_functions.py::test_regex_replace_with_too_many_groups_raises_value_error
tests/query/xpath/test_functions.py::test_re_replace_template_matches_python_re
tests/query/xpath/test_functions.py::test_re_replace_malformed_template_raises
tests/query/xpath/test_functions.py::test_fn_replace_dollar_references
tests/query/xpath/test_functions.py::test_regex_flags_ignore_unknown_letters
)
src_unpack() {
default
if use test; then
# html5lib-test
local EGIT_REPO_URI="https://github.com/html5lib/html5lib-tests"
local EGIT_CHECKOUT_DIR="${S}/tests/html5lib-tests"
local EGIT_COMMIT="9fb614afaa42ce8787840f057b32084308e76549"
git-r3_src_unpack
fi
}
>=dev-build/meson-1.12.1 test? ( dev-python/coverage[] dev-python/docutils[] dev-python/elementpath[] dev-python/feedparser[] dev-python/html5lib[] dev-python/httpx2[] dev-python/jinja2[] dev-python/linkify-it-py[] dev-python/lxml[] dev-python/markdown-it-py[] dev-python/pandas[] dev-python/pyquery[] >=dev-python/pytest-9.1.1[] dev-python/pytest-mock[] dev-python/tenacity[] dev-python/tinycss2[] dev-python/typing-extensions[] )