python-pytest-html 4.2.0+ds-1
Package Information
| Description | pytest plugin for generating HTML reports pytest-html is a pytest plugin that generates an HTML report of the test session, with results, durations, captured output, logs and session metadata. The report can be a single self-contained file, and it can be filtered and sorted in the browser. Tests and plugins can attach extra content to the report, such as text, URLs, images or videos, and the report layout can be customised through hooks and additional CSS. |
|---|---|
| Maintainer | Debian Python Team <team+python@tracker.debian.org> |
| Changed By | Nico Della Torre <nicoz91@ubuntu.com> |
| Sponsor | tchet@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/python-team/packages/python-pytest-html.git (browse) |
| Closes | #1152631 |
| Tracker | https://tracker.debian.org/pkg/python-pytest-html |
| Uploaded | 2 hours ago |
New Package Report
.changes
| Version | 4.2.0+ds-1 |
|---|---|
| Changed-By | Nico Della Torre <nicoz91@ubuntu.com> |
| Architecture | source all |
| Distribution | unstable |
| Date | Fri, 30 Oct 2026 21:34:38 +0100 |
| Source | python-pytest-html |
Changelog
python-pytest-html (4.2.0+ds-1) unstable; urgency=medium . * Initial release. (Closes: #1152631)
.dsc
| Package-List | python3-pytest-html deb python optional arch=all |
|---|---|
| Section | python |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: pytest-html
Upstream-Contact: Dave Hunt <dhunt@mozilla.com>
Source: https://github.com/pytest-dev/pytest-html
Files-Excluded:
src/pytest_html/resources/app.js
src/pytest_html/resources/style.css
Comment: The generated JavaScript bundle and stylesheet are rebuilt from
src/pytest_html/scripts/*.js and src/layout/css/style.scss at build time.
Files: *
Copyright: 2015-2026, Dave Hunt <dhunt@mozilla.com>
2015-2026, Jim Brännlund <jimbrannlund@fastmail.com>
2015-2026, pytest-html contributors
License: MPL-2.0
Files: debian/*
Copyright: 2026, Nico Della Torre <nicoz91@ubuntu.com>
License: MPL-2.0
License: MPL-2.0
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
.
On Debian systems, the full text of the Mozilla Public License version 2.0
can be found in the file '/usr/share/common-licenses/MPL-2.0'.
DFSG Assistant LLM REVIEW 0 blocker, 0 important, 0 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 1 hour ago.
Report
DFSG NEW review for python-pytest-html version 4.2.0+ds-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 0 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
debian/copyright is DEP-5 1.0 and accurate. The whole tree is MPL-2.0: the root LICENSE carries the MPL short notice, every module under src/pytest_html (plus testing/legacy_test_pytest_html.py) carries the same header, and pyproject.toml/PKG-INFO declare License-Expression: MPL-2.0. MPL-2.0 is DFSG-free and its full text is in /usr/share/common-licenses, so the reference in the stand-alone License paragraph is sufficient; there is no other licence or holder in the tree. The +ds repack removes only the two built artefacts (resources/app.js, resources/style.css), which Files-Excluded names exactly and which debian/rules regenerates from sources that are present. The one holder the prescan raised, Dave Hunt in docs/conf.py, is already covered by Files: *.
Packaging
Packaging is in good shape and follows current Python-team practice. debhelper compat 14 with dh-sequence-python3 and pybuild/pyproject; the generated JavaScript bundle and stylesheet are built in execute_before_dh_auto_build with esbuild and dart-sass (both in the archive) and removed again by debian/clean, so the tree stays pristine and nothing non-source is shipped. The tests that run need python3-pytest, which is in Build-Depends, so debhelper's pybuild buildsystem selects the pytest runner automatically; debian/pybuild.testfiles adds the testing directory (upstream's name, not copied by default) and PYBUILD_TEST_ARGS narrows the run to testing/test_unit.py. The single quilt patch has correct DEP-3 headers and is forwarded. Standards-Version 4.7.4 matches current Policy, Vcs-* fields are present, the changelog closes an ITP, and the autopkgtest is the pybuild stub, which inherits PYBUILD_TEST_ARGS because pybuild-autopkgtest includes debian/rules.
Issues
None.
Verified ◂
- docs/conf.py:20
copyright = "2020, Dave Hunt" # noqa: A001- the text the prescan matched is the lint suppression comment; the holder is Dave Hunt, who is named in theFiles: *Copyright field, so nothing is missing, and the year (2020) is within the stated 2015-2026 range. - LICENSE contains only the MPL-2.0 short notice (no holder line); that matches
Files: */License: MPL-2.0and the standalone paragraph pointing at /usr/share/common-licenses/MPL-2.0, which exists (checked against the directory listing). - Every src/pytest_html/.py except init.py and the generated __version.py carries the MPL-2.0 header; src/pytest_html/scripts/.js, src/layout/css/style.scss, src/pytest_html/resources/index.jinja2, docs/.rst, docs/conf.py, testing/ and the root config files carry no separate notice, so they fall under the project LICENSE via
Files: *- no third-party or differently licensed code and no embedded copies of Debian libraries. - The JavaScript carries no external dependency: every require() in src/pytest_html/scripts resolves to another file in that directory (index/main/filter/sort/datamanager/storage/dom/mediaviewer), so the esbuild bundle contains no npm code. src/layout/css/style.scss is self-contained (only a local @mixin/@include/@extend).
- Files-Excluded matches the repack:
src/pytest_html/resources/holds only index.jinja2 both in the tree and inside python-pytest-html_4.2.0+ds.orig.tar.xz, and app.js/style.css are generated by debian/rules from src/pytest_html/scripts/*.js and src/layout/css/style.scss, so no built file ships without its source. - Generated-but-present files, none a DFSG problem: PKG-INFO (hatchling, from pyproject.toml), src/pytest_html/__version.py (setuptools-scm, generator is
[tool.hatch.build.hooks.vcs]in pyproject.toml), docs/requirements.txt (pip-compile, input docs/requirements.in is present), package-lock.json (npm lockfile - metadata, and no code from it is bundled or shipped). - debian/* is covered by its own later stanza (last match wins over
Files: *), and the copy of basereport.py in .pc/ is quilt state and was left out as instructed. - Build inputs checked with apt-cache: esbuild 0.28.2 and dart-sass 1.106.1 (which provides /usr/bin/sass) both exist in the archive; python3-hatch-vcs, pybuild-plugin-pyproject, python3-pytest-metadata, python3-assertpy and python3-ansi2html exist, and python3-pytest-metadata 3.1.1 satisfies the upstream pytest-metadata>=2 requirement.
- The test runner and version are not guesses: /usr/share/perl5/Debian/Debhelper/Buildsystem/pybuild.pm adds
--test-pytestwhen python3-pytest appears in Build-Depends (its regex matchespython3-pytest <!nocheck>andpython3-all), and exports SETUPTOOLS_SCM_PRETEND_VERSION because python3-hatch-vcs is a build dependency, so the hatch-vcs build works without a VCS. - Tests are deliberately narrow but defensible: testing/test_integration.py imports selenium unconditionally and testing/legacy_test_pytest_html.py imports pkg_resources, so only testing/test_unit.py (which needs nothing beyond python3-pytest and python3-assertpy) is run at build and in autopkgtest; pybuild copies
testinginto the build dir because debian/pybuild.testfiles says so. - debian/patches/fix-rerun-count-with-rerunfailures-16.7.patch has Description, Author, Bug, Forwarded (PR 1086) and Last-Update, is listed in series, and the patched code in src/pytest_html/basereport.py is coherent: the teardown that follows a
rerunoutcome is dropped and the nodeid forgotten on the next non-rerun report, so the final attempt still finishes the test. - uscan found the packaged version as the newest upstream release (upstream
4.2.0, packaged4.2.0+ds). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (MPL-2.0).
Not confirmed ◂
- I could not run the build or the tests, so I did not see the built wheel: that the build-time-generated app.js and style.css end up inside it depends on hatchling's file selection, which I could not read (python3-hatchling is not installed on this system). The build order (rules hook before dh_auto_build) and the fact that the package's own unit tests render reports through resources/index.jinja2 make it very likely, and no false-positive-prone claim is made from it.
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader was emailed about the review 1 hour ago.