Review: python-piqtree 0.8.3-1
Package Information
| Description | Python interface for phylogenetic tree inference with IQ-TREE piqtree provides a Python interface to IQ-TREE for phylogenetic analysis. It allows phylogenetic trees to be inferred from sequence alignments using the IQ-TREE maximum-likelihood framework. |
|---|---|
| Maintainer | Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org> |
| Changed By | Karsten Schöke <karsten.schoeke@geobasis-bb.de> |
| Sponsor | satta@debian.org |
| Distribution | unstable |
| Architecture | amd64 arm64 all |
| VCS | git: https://salsa.debian.org/med-team/python-piqtree.git (browse) |
| Closes | #1150159 |
| Tracker | https://tracker.debian.org/pkg/python-piqtree |
| Uploaded | 14 days ago |
New Package Report
.changes
| Date | Tue, 06 Oct 2026 12:20:28 +0200 |
|---|---|
| Source | python-piqtree |
| Version | 0.8.3-1 |
| Changed-By | Karsten Schöke <karsten.schoeke@geobasis-bb.de> |
| Architecture | source all amd64 |
| Distribution | unstable |
Changelog
python-piqtree (0.8.3-1) unstable; urgency=medium . * Initial release. (Closes: #1150159)
.dsc
| Component | main |
|---|---|
| Package-List | python-piqtree-doc deb doc optional arch=all python3-piqtree deb python optional arch=amd64,arm64 |
| Section | doc |
| Priority | optional |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/iqtree/piqtree
Upstream-Name: piqtree
Upstream-Contact: Gavin Huttley <Gavin.Huttley@anu.edu.au>
Files: *
Copyright: McArthur, Robert Neil and Wong, Thomas King-Fung and Lang,
Yapeng and Morris, Richard Andrew and Caley,
Katherine and Mallawaarachchi, Vijini and Minh,
Bui Quang and Huttley, Gavin
License: GPL-2
Files: debian/*
Copyright: 2026 Karsten Schöke <karsten.schoeke@geobasis-bb.de>
License: GPL-2
License: GPL-2
On Debian systems you can find the full text of the GNU General Public
License version 2 at `/usr/share/common-licenses/GPL-2'.
Review Information
accepted — allocated to awm 11 days ago, started 11 days ago, completed 11 days ago.
Final Comment
Hi,
A couple of issues were found in the review that you might want to fix...
- [important] [packaging] nodoc doc build is keyed to the wrong switch and is fragile; both nodoc modes can break the build
- Files:
debian/rules,debian/control,debian/python-piqtree-doc.docs - Evidence:
execute_after_dh_auto_build:containsifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS)))thenpython3 -m mkdocs build -v -d html, while Build-Depends gate mkdocs* with<!nodoc>(a build profile);debian/python-piqtree-doc.docsishtml. The mkdocs step also setsPYTHONPATH=\dirname $(find .pybuild/ -type d -name "piqtreedist-info" | head -n1)``. - Problem: Two independent switches control the same resource. With
DEB_BUILD_PROFILES=nodocthe mkdocs packages are not installed but debian/rules still runs mkdocs (fails with ModuleNotFoundError); withDEB_BUILD_OPTIONS=nodocmkdocs is skipped,html/is never produced, and dh_installdocs then fails becausedebian/python-piqtree-doc.docslists a missinghtml. Policy 4.9.1 makesnodocan official DEB_BUILD_OPTIONS tag and requires the package to still build. Separately,python3-all-devbuilds the extension for every supported CPython;find .pybuild/ ... | head -n1picks whichever build dir the filesystem presents first, which is not guaranteed to match the interpreterpython3 -m mkdocsuses, sofrom _piqtree import __iqtree_version__(src/piqtree/init.py) can fail on ABI mismatch and abort the build. - Fix: Gate the mkdocs step on the
nodocbuild profile exactly like the Build-Depends (DEB_BUILD_PROFILES), since dh_installdocs already honours the nodoc profile and will then skip the doc install consistently. Point PYTHONPATH at the build dir of the default interpreter (e.g. derive it frompython3 -c 'import sys; ...'or a fixed.pybuild/...layout) instead of an unsorted find, and confirm with a clean normal and nodoc build.
- [minor] [packaging] The pytest suite is never executed during build or autopkgtest
- Files:
debian/control,debian/rules - Evidence:
Testsuite: autopkgtest-pkg-pybuild, no debian/tests/control, noPYBUILD_TEST_ARGS/--test-pytest; pybuild's pyproject plugin runspython{version} -m unittest discover -vby default and "No test runner selected ... ignoring test discovery problems" (dhpython/build/base.py:329). - Problem: The tests are pytest-style (they rely on pytest fixtures in tests/conftest.py, e.g.
three_otu,protein_four_otu), so unittest discovery finds no TestCase classes and, because discovery is allowed to find zero tests, the build passes without running anything. python3-pytest/-cov/-mock (and python3-loky) Build-Depends are therefore dead weight and regressions in this scientific package go undetected. - Fix: Add a debian/tests/control that runs the pytest suite under autopkgtest-pkg-pybuild, or set
PYBUILD_TEST_ARGS=--test-pytestand keep the pytest Build-Depends; then verifydh_auto_testactually executes the tests.
Thanks!