Review: pytest-examples 0.0.18-1
Package Information
| Description | pytest plugin for testing examples in docstrings and markdown files pytest plugin for testing Python code examples in docstrings and markdown files. pytest-examples can lint code examples using ruff and black, run code examples, run code examples and check print statements are inlined correctly in the code, etc. This package installs the library for Python 3. |
|---|---|
| Maintainer | Debian Python Team <team+python@tracker.debian.org> |
| Changed By | Pieter Lenaerts <plenae@disroot.org> |
| Sponsor | jcfp@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/python-team/packages/pytest-examples.git (browse) |
| Closes | #1150587 |
| Tracker | https://tracker.debian.org/pkg/pytest-examples |
| Uploaded | 26 days ago |
New Package Report
.changes
| Version | 0.0.18-1 |
|---|---|
| Changed-By | Pieter Lenaerts <plenae@disroot.org> |
| Architecture | source all |
| Distribution | unstable |
| Date | Mon, 12 Oct 2026 12:07:32 +0000 |
| Source | pytest-examples |
Changelog
pytest-examples (0.0.18-1) unstable; urgency=medium . * Initial release. (Closes: #1150587)
.dsc
| Component | main |
|---|---|
| Package-List | python3-pytest-examples deb python optional arch=all |
| Section | python |
| Priority | optional |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://github.com/pydantic/pytest-examples Upstream-Name: pytest-examples Upstream-Contact: Pydantic Services Inc. https://github.com/pydantic/pytest-examples/issues Files: * Copyright: 2023 Samuel Colvin & Pydantic Services inc. License: Expat Files: debian/* Copyright: 2026 Pieter Lenaerts <plenae@disroot.org> License: Expat License: Expat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
DFSG Assistant LLM REVIEW 0 blocker, 1 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 24 days ago.
Report
DFSG NEW review for pytest-examples version 0.0.18-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: No
- Issues: 0 blocker, 1 important, 0 minor
- debian/watch: version 5
- debian/copyright: machine-readable
Licensing
The entire upstream tree is MIT (Expat) under a single holder, exactly matching the shipped LICENSE. debian/copyright is machine-readable DEP-5 1.0: Files: * (copyright 2023 Samuel Colvin & Pydantic Services inc., License: Expat with full text), an overriding debian/* stanza for the packager, and no Files-Excluded needed. A grep of the whole tree (excluding .pc and debian/) found copyright/licence markers only in LICENSE; there are no binary files, no minified/generated artifacts without sources, and no vendored third-party code, so the single-stanza coverage is accurate and complete.
Packaging
Standard, well-formed Python Team packaging: debhelper-compat 14, pybuild/pyproject, arch:all single binary, source format 3.0 (quilt), DEP-3-header patches, autopkgtest via Testsuite field, correct Build-Depends with <!nocheck> and Vcs-*/gbp metadata. Runtime Depends are auto-translated from pyproject Requires-Dist by dh_python3 (pytest>=7/black>=23/ruff>=0.5.0 map to python3-pytest, black, python3-ruff, all present in the archive with satisfiable versions). One real problem: the pytest-9.1 parametrize fix is incomplete, so the test suite fails at collection under Debian's python3-pytest 9.1.1.
Issues
important packaging 1. Pytest 9.1 parametrize fix misses example/test_example.py; test suite fails at collection ◂
- Files:
example/test_example.py:7,example/test_example.py:13,example/test_example.py:24,example/test_example.py:37,pyproject.toml - Evidence:
@pytest.mark.parametrize('example', find_examples('example/error.md'), ids=str)(same pattern at lines 13, 24, 37);[tool.pytest.ini_options] filterwarnings = "error"; installed pytest 9.1.1_pytest/deprecated.py~line 67: "Passing a non-Collection iterable to parametrize is deprecated.", raised by_pytest/mark/structures.py~line 201 when argvaluesis not isinstance(argvalues, Collection). - Problem:
find_examples(...)is a generator function, so these four module-level parametrize calls pass a non-Collection iterable. Since pytest 9.1 this emits PytestRemovedIn10Warning, whichfilterwarnings = "error"escalates to an error during collection.example/is intestpaths = ["tests", "example"], sodh_auto_test(default build) and the pybuild autopkgtest both collect it and fail the run. The Debian fix patch (fix_pytest9.1_deprecated_non-collection_iterators.patch) wrapslist(...)around the same calls in tests/test_run_examples.py and tests/test_update_examples_dir.py but misses example/test_example.py, leaving the suite broken under Debian's python3-pytest 9.1.1-1. - Fix: Extend the fix patch to wrap the four parametrize arguments in
list(...)in example/test_example.py (and forward the fix upstream), then confirm the full suite passes on a normal (non-nocheck) build.
Verified ◂
- Read debian/copyright in full: DEP-5, Format https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/, header stanza,
Files: *Expat,Files: debian/*packager stanza, full Expat text in a stand-alone License stanza. - Read debian/control, rules, changelog, source/format, python3-pytest-examples.examples, gbp.conf, salsa-ci.yml, upstream/metadata, patches/, series, and both patches.
- Read all of pytest_examples/.py, LICENSE, README.md, pyproject.toml, Makefile, .github/workflows/ci.yml, .pre-commit-config.yaml, tests/conftest.py, tests/.py and example/* files.
- Grepped the entire tree excluding .pc/ and debian/ for Copyright (C) ©, SPDX, license names, public domain, All rights reserved etc.; the only matches are LICENSE and debian/copyright.
- No binary, minified or generated-without-source files, no vendored code; py.typed is an empty marker.
- Confirmed on the reviewing system that pytest 9.1.1 is installed and that
_pytest.mark.structures._parametrizewarns for non-Collection argvalues, and that the Debian binary packages python3-pytest 9.1.1-1, black 26.10.0-2 and python3-ruff 0.16.8+ds-1 exist and satisfy the pyproject version requirements (>=7, >=23, >=0.5.0). - Confirmed via dh_python3(1) that runtime Depends are generated automatically from Requires-Dist with a built-in mapping.
- uscan found the packaged version as the newest upstream release (upstream
0.0.18, packaged0.0.18).
Not confirmed ◂
- Could not build the package or run its test suite here (read-only; no build side-effects). The collection-failure mechanism in example/test_example.py is inferred from pytest's own deprecation code plus pyproject's filterwarnings=error; confirm on the first dpkg-buildpackage/autopkgtest run.
- The exact installed file set under /usr/lib/python3/dist-packages is unverified without a build: pyproject.toml restricts only the sdist (
[tool.hatch.build.targets.sdist] include), not the wheel, so hatchling's default all-files wheel selection could pull top-level dirs (tests/, example/, .github/, even debian/) into the built binary; worth adpkg -cglance at sponsor build time.
Proposed changes ◂
None.
Review Information
accepted — allocated to awm 23 days ago, started 23 days ago, completed 23 days ago.
Final Comment
Hi,
I'm sure you guys are more qualified than me to decide whether the LLM-based review findings are correct or not. Take a look at the full review and decide for yourselves if that is useful information.
Thanks!