pyensembl 2.33.2-1
Package Information
| Description | command-line tools for Ensembl reference genome data PyEnsembl provides access to reference genome annotations and sequences from Ensembl and other annotation sources. It supports local GTF and FASTA files, genomic feature queries and persistent caches. This package provides the pyensembl command for downloading, indexing and managing reference genome data. |
|---|---|
| Maintainer | Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org> |
| Changed By | Steffen Moeller <moeller@debian.org> |
| Sponsor | moeller@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/med-team/pyensembl.git (browse) |
| Popcon Installs | 117 |
| Binary NEW | Yes (new binary packages of a source already in sid) |
| Tracker | https://tracker.debian.org/pkg/pyensembl |
| Uploaded | 2 hours ago |
New Package Report
.changes
| Version | 2.33.2-1 |
|---|---|
| Changed-By | Steffen Moeller <moeller@debian.org> |
| Architecture | source all |
| Distribution | unstable |
| Date | Sat, 14 Nov 2026 13:25:28 +0100 |
| Source | pyensembl |
Changelog
pyensembl (2.33.2-1) unstable; urgency=medium
.
* New upstream version.
* Reenabled autobuild on CI.
* Refresh skip-benchmark.patch for the opt-in benchmarks in 2.33.2;
import tinytimer only when timed benchmarks are requested.
* Copy upstream helper scripts and test configuration into the pybuild
and autopkgtest directories.
* Declare the argcomplete, PyFaidx and mypy test dependencies, and
require datacache 1.30.0 as specified by upstream.
* Allow build tests to reach their local HTTP fixtures through loopback.
* Keep source release checks in build tests and exclude the Ensembl 93
integration example requiring separately installed genome data.
* Split the Python library into python3-pyensembl; retain the command
and its manual page in pyensembl with a matching-version dependency.
Add file takeover relationships for the former combined package.
* Find the staged command through PATH in CLI tests, removing a
dependency on an already installed pyensembl package.
* Test both binary packages and drop the obsolete needs-internet
autopkgtest restriction; network fixtures use loopback only..dsc
| Package-List | pyensembl deb science optional arch=all python3-pyensembl deb python optional arch=all |
|---|---|
| Section | science |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: pyensembl
Upstream-Contact: Alex Rubinsteyn <alex.rubinsteyn@unc.edu>
Source: https://github.com/openvax/pyensembl
Files: *
Copyright: 2015-2025 Mount Sinai School of Medicine
License: Apache-2.0
Files: tests/data/gencode.ucsc.small.gtf
Copyright:
2025 EBI
License: EMBL
General
.
EMBL’s European Bioinformatics Institute (EMBL-EBI) promotes open
science through its mission to provide freely available Data Resources
and Tools (which includes online services, databases and software)
to the largest possible community. Where EMBL-EBI presents scientific
data generated by others, EMBL-EBI imposes no additional restriction on
the use of the contributed data than those provided by the data owner,
unless otherwise specified in these Terms of Use.
.
EMBL-EBI expects attribution (e.g. in publications, services or products)
for the use of any of its Data Resources and Tools in accordance with
good scientific practice. The expected attribution will be indicated
on the relevant web page of the resource.
.
Any feedback provided to EMBL-EBI on its Data Resources and Tools shall
be considered as non-confidential.
.
All scientific data will be made available by a time and release
mechanism consistent with the data type (e.g. human data where access
needs to be reviewed by a Data Access Committee, pre-publication
embargoed for a specific time period).
.
EMBL-EBI processes personal data according to its internal policy,
which safeguards data for individuals. EMBL-EBI also reserves the right
to collect data through cookies and registration. Personal data will
be disclosed only in accordance with the applicable privacy notice for
the relevant data resource or tool (see also Privacy section below).
.
EMBL-EBI may make information about the total usage of particular Data
Resources and Tools, or data available, to the public and third party
organisations who supply or fund the Data Resources and Tools without
details of any individual’s use. Such information is in the form of
aggregated statistics and does not identify any individual.
.
While EMBL-EBI will retain its commitment to Open Science, EMBL-EBI
reserves the right to update these Terms of Use at any time. When
alterations are inevitable, EMBL-EBI will attempt to give reasonable
notice of any changes by placing a notice on its website, but users may
wish to check each time they use the website. The date of the most recent
revision will appear on this, the ‘EMBL-EBI Terms of Use’ page. If
the user does not agree to these changes, please do not continue to use
EMBL-EBI Data Resources and Tools. EMBL-EBI will also make available
on request an archived copy of the previous Terms of Use for comparison.
.
EMBL-EBI shall not be liable to the user or third parties claiming
rights through the user for any losses or damages.
.
For some Data Resources and Tools, additional specific terms and
conditions and/or license agreements may apply, which in case of any
conflict of inconsistency, will prevail over these Terms of Use.
.
Any questions or comments concerning these Terms of Use can be
addressed to:
.
Head of EMBL-EBI Administration and Operations
EMBL’s European Bioinformatics Institute (EMBL-EBI)
Wellcome Genome Campus
Hinxton CB10 1SD
.
Data Resources and Tools
.
Users of EMBL-EBI Data Resources and Tools agree not to attempt to
use any EMBL-EBI computers, files or networks apart from through the
service interfaces provided.
.
EMBL-EBI will make all reasonable effort to maintain continuity of these
Data Resources and Tools and provide adequate warning of any changes,
discontinuities and possible discontinuance. However, EMBL-EBI accepts
no responsibility for the consequences of any temporary or permanent
discontinuity in service.
.
The user is exclusively responsible for their use of content accessible
from Data Resources and Tools. Hosting and providing access to the
content does not imply any endorsement by EMBL-EBI.
.
Any attempt to use EMBL-EBI Data Resources and Tools to a level that
prevents, or is likely to prevent, EMBL-EBI providing services to others,
will result in the user being blocked. EMBL-EBI will attempt to contact
the user to discuss their needs and how (and if) these can be met from
other sources.
.
If the user posts or sends offensive, unlawful, inappropriate or
objectionable content anywhere on or to our websites or otherwise engages
in any disruptive behaviour on any of our services, EMBL-EBI may use
personal information from its security logs to stop such behaviour. Where
EMBL-EBI reasonably believes that the user is or may be in breach of
any applicable laws, EMBL-EBI may use personal information to inform
relevant third parties about the content and the user’s behaviour.
.
Software that can be run from the EMBL-EBI web pages may be used by
any individual for any purpose unless specific exceptions are stated
on the web page or specified in these Terms of Use. Any software from
EMBL-EBI made available for download through our web pages (either
directly or from third party repositories) will have its own individual
license agreement.
.
EMBL-EBI has implemented appropriate technical and organisational
measures to ensure a level of security which we deem appropriate, taking
into account the categories of data we collect and the way we process it.
.
EMBL-EBI does not accept responsibility for the consequences of any
breach of the confidentiality or security of the EMBL-EBI site by
third parties.
.
EMBL-EBI does not guarantee the accuracy of any provided data or Data
Resources and Tools nor the suitability of these for any purpose. The
Data, Resources and Tools are provided by EMBL-EBI ‘AS IS’ without
warranties of any kind.
.
EMBL-EBI retains the right, at its sole discretion, without prior
notice and without assuming any liability, (i) to rectify, delete,
or restrict access to, content that it judges to be inappropriate,
unlawful, infringing third party rights or inadequately protected,
and (ii) to limit or revoke user access if it determines that access
to EMBL-EBI’s Data Resources and Tools hinders its operations or
breaches these Terms of Use and/or would be incompatible with relevant
legal frameworks for example those related to privacy and intellectual
property rights, export controls and sanctions.
.
The user is exclusively responsible for any material or content uploaded
to EMBL-EBI’s Data Resources and Tools. The user responsible for the
uploading of any content shall ensure: (i) that they have all required
licences, authorisations, permissions and consents for open access
dissemination, where the content is uploaded in an open access resource;
(ii) that they have all required licences, authorisations, permissions
and consents for dissemination, where the content is uploaded in a
controlled access resource and have an appropriate mechanism in place
to approve such controlled access, where under the specific terms of
the resource, it’s the user’s responsibility to grant such access,
(iii) that the content does not infringe any third-party rights and
(iv) that the content complies with all laws and regulations applicable
to the user, including, without limitation, those related to privacy,
intellectual property rights, export controls and sanctions.
.
Data
.
The Data Resources and Tools hosted by EMBL-EBI are generated in part
from data contributed by the community who remain the data owners.
.
When the user contributes scientific data to a database through EMBL-EBI
website or other submission tools this information will be released at
a time and in a manner consistent with the scientific data and EMBL-EBI
may store it permanently.
.
EMBL-EBI itself places no additional restrictions on the use or
redistribution of the data available via its Data Resources and Tools
other than those provided by the original data owners, unless otherwise
specified in these Terms of Use.
.
The original data may be subject to rights claimed by third parties,
including but not limited to, patent, copyright, other intellectual
property rights, biodiversity-related access and benefit-sharing
rights. For the specific case of the EGA database and human data
consented for biomedical research, these rights may be formalised in
Data Access Agreements. It is the responsibility of users of EMBL-EBI
Data Resources and Tools to ensure that their exploitation of the data
does not infringe any of the rights of such third parties.
.
Privacy
.
EMBL is an intergovernmental organisation, entrusted with a number of
privileges and immunities necessary to fulfil its mission, including the
inviolability of EMBL premises and archives. Within these limits, the
user is granted certain rights in relation to its personal data. These
are detailed in our Internal Policy on Data Protection.
.
More details of the personal data we collect from users when the website
is browsed and how EMBL processes this personal data are detailed in
our our Privacy notice.
.
EMBL-EBI’s websites use cookies to record information about user online
preferences that allow EMBL-EBI to personalise users’ experience of
the website. Users can control the use of cookies from the web browser,
but if the user chooses not to accept cookies from EMBL-EBI’s websites,
they will not be able to take full advantage of all of the website’s
features. For information on how to manage cookies in different web
browsers and a full list of EMBL-EBI and 3rd party cookies — see our
cookies page.
Comment:
This information is gathered from
https://www.gencodegenes.org/human/releases.html
pointing to the EBI's data usage policies on
https://www.ebi.ac.uk/about/terms-of-use/.
Files: tests/data/mouse.ensembl.81.partial.ENSMUSG00000017167.pep
tests/data/mouse.ensembl.81.partial.ENSMUSG00000017167.fa
tests/data/mouse.ensembl.81.partial.ncrna.ENSMUSG00000017167.fa
tests/data/mouse.ensembl.81.partial.ENSMUSG00000017167.gtf
Copyright:
2001-2025 EMBL-EBI, Hinxton, UK
License: Unrestricted
Ensembl imposes no restrictions on access to, or use of, the data provided and the software used to analyse and present it. Ensembl data generated by members of the project are available without restriction.
.
From https://www.ensembl.org/info/about/legal/disclaimer.html.
Files: tests/data/refseq.ucsc.small.gtf
Copyright:
1996-2025 NCBI
License: NCBI
.
Molecular Data Usage
.
Databases of molecular data on the NCBI Web site include such examples
as nucleotide sequences (GenBank), protein sequences, macromolecular
structures, molecular variation, gene expression, and mapping data. They
are designed to provide and encourage access within the scientific
community to sources of current and comprehensive information. Therefore,
NCBI itself places no restrictions on the use or distribution of
the data contained therein. Nor do we accept data when the submitter
has requested restrictions on reuse or redistribution. However, some
submitters of the original data (or the country of origin of such data)
may claim patent, copyright, or other intellectual property rights in
all or a portion of the data (that has been submitted). NCBI is not in
a position to assess the validity of such claims and since there is
no transfer of rights from submitters to NCBI, NCBI has no rights to
transfer to a third party. Therefore, NCBI cannot provide comment or
unrestricted permission concerning the use, copying, or distribution
of the information contained in the molecular databases.
.
From https://www.ncbi.nlm.nih.gov/home/about/policies/
Files: debian/*
Copyright: 2021,2025 Steffen Moeller <moeller@debian.org>
2022 Étienne Mollier <emollier@debian.org>
2023 Lance Lin <lq27267@gmail.com>
License: Apache-2.0
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian systems this license is available at
'/usr/share/common-licenses/Apache-2.0'
DFSG Assistant LLM REVIEW 0 blocker, 1 important, 2 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 pyensembl version 2.33.2-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: No
- Issues: 0 blocker, 1 important, 2 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: 10 found
Licensing
The code and the data are DFSG-free: pyensembl/.py carry Apache-2.0 headers, LICENSE is the full Apache-2.0 text, and the EMBL-EBI, Ensembl and NCBI texts reproduced in debian/copyright impose no restriction on modifying or redistributing the data, so nothing is non-free and no licence text is missing. debian/copyright is DEP-5 with the canonical Format line, a Files: * catch-all, three data stanzas and a Files: debian/ stanza in correct last-match order, and every holder the prescan found (Mount Sinai, EBI, NCBI) is named somewhere in it. It is not complete, though: only gencode.ucsc.small.gtf, the four mouse Ensembl-81 files and refseq.ucsc.small.gtf have their own stanza, so the Ensembl-97, Ensembl Plants and Ensembl Genomes-63 fixtures and the NCBI genetic-code/taxonomy captures are matched by Files: * alone, which calls them Mount Sinai's Apache-2.0 work. Answer no for accuracy; the gap is graded minor because these are test fixtures that neither binary package ships.
Packaging
Most of the packaging is sound: 3.0 (quilt), DEP-3 patches with a correct rationale for each, debhelper compat 13 with dh-sequence-python3 and pybuild-plugin-pyproject, a clean split of library and command with matching Breaks/Replaces and a same-version dependency, Vcs-* fields, Standards-Version 4.7.4 (current against Policy 4.7.4.1) and a loopback-only autopkgtest with the test-only dependencies declared. Two things need fixing. The Build-Depends ask for python3-gtfparse >= 2.9 and python3-datacache >= 1.30.0, while the archive has 1.3.0 and 1.27.1 and neither newer version is pending, so the package cannot be built or installed as declared. And the pyensembl package ships a May 2021 help2man page generated from version 1.9.1 that documents a delete-sequence-cache action the CLI no longer has and includes a captured argparse error message as if it were usage.
Issues
important packaging 1. Build-Depends require python3-gtfparse >= 2.9 and python3-datacache >= 1.30.0, which no archive version satisfies ◂
- Files:
debian/control:17-30 (Build-Depends),debian/changelog:1-12,debian/control:36-41 (python3-pyensembl Depends) - Basis: checked, in the package or with a reference tool
- Evidence:
python3-datacache (>= 1.30.0),andpython3-gtfparse (>= 2.9),against the reviewing system's lists:Package: python3-gtfparse / Version: 1.3.0+ds-3andPackage: python3-datacache / Version: 1.27.1-1. The changelog states the demands:Demands newer version of gtfparseandrequire datacache 1.30.0 as specified by upstream. - Problem: Neither version constraint can be met from the archive: the newest python3-gtfparse is 1.3.0+ds-3 and the newest python3-datacache is 1.27.1-1, and the lookup also searches the NEW queue and the binaries of this upload, where neither newer version appears. A clean sbuild chroot therefore cannot resolve the Build-Depends, so the source does not build on any buildd. The same version requirements are what dh_python3 turns into python3-pyensembl's generated Depends from requires.txt/METADATA, so the resulting binary would be uninstallable as well. Because the requirements are deliberate (upstream pyproject.toml asks for
gtfparse>=2.9.0,<4.0.0anddatacache[progress]>=1.30.0,<2.0.0), this is not a typo to be dropped without checking. - Fix: Get python3-gtfparse >= 2.9 and python3-datacache >= 1.30.0 into unstable first (or, if the archive versions are in fact sufficient, relax the constraints to what the code uses), and re-check with
apt-cache policy python3-gtfparse python3-datacachebefore uploading.
minor licensing 2. Files: * leaves most Ensembl and NCBI test data without a stanza naming EMBL-EBI or NCBI ◂
- Files:
debian/copyright:6-8 (Files: * stanza),debian/copyright:11-14 (gencode.ucsc.small.gtf stanza),tests/data/human.ensembl.97.patch.gtf,tests/data/human.ensembl.97.patch.cdna.fa,tests/data/human.ensembl.97.patch.ncrna.fa,tests/data/human.ensembl.97.patch.pep.fa,tests/data/arabidopsis.tair10.partial.gtf,tests/data/arabidopsis.tair10.partial.cdna.fa,tests/data/tomato_sl4/genes.gtf,tests/data/tomato_sl4/cdna.fa,tests/data/tomato_sl4/pep.fa,tests/data/release_comparisons/*.gtf,tests/data/genetic_codes/*.gz,tests/data/assembly_metadata/*.json - Basis: checked, in the package or with a reference tool
- Evidence:
Files: */Copyright: 2015-2025 Mount Sinai School of Medicine/License: Apache-2.0. Elsewhere in the tree:GTF and cDNA FASTA fragments were taken from Ensembl Plants release 57(tests/test_tair10_complete.py:11),https://ftp.ensemblgenomes.ebi.ac.uk/pub/release-63/plants/gtf/...(tests/data/tomato_sl4/provenance.json),verbatim upstream responses ... The generated package catalogue records source URLs ... NCBI request(tests/data/genetic_codes/README.md), and the four source URLshttps://ftp.ensembl.org/pub/release-97/...in tests/data/human.ensembl.97.patch.md. - Problem: Only three narrow stanzas record third-party data terms (gencode.ucsc.small.gtf, the four mouse.ensembl.81 files, refseq.ucsc.small.gtf). Every other fixture derived from Ensembl, Ensembl Genomes or NCBI is matched by Files: * alone, which attributes it to Mount Sinai School of Medicine and calls it Apache-2.0 - holders and terms the source itself says are EMBL-EBI's (
License: Unrestrictedin the mouse stanza is the Ensembl term) or NCBI's (the stanza already used for refseq.ucsc.small.gtf). Policy 2.3 does not require these notices: neither binary package ships tests/ (debian/pyensembl.install installs usr/bin/pyensembl, debian/python3-pyensembl.install usr/lib/python3*, debian/pyensembl.manpages the man page), so no copyright notice of these files must be reproduced in the binary. The DFSG team nevertheless expects debian/copyright to describe every file, and here the licence stated for them is not the one that applies. - Fix: Add stanzas next to the existing ones, e.g.
Files: tests/data/human.ensembl.97.patch.* tests/data/arabidopsis.tair10.partial.* tests/data/tomato_sl4/*.gtf tests/data/tomato_sl4/*.fa tests/data/release_comparisons/*.gtfwithCopyright: 2001-2025 EMBL-EBI, Hinxton, UKandLicense: Unrestricted(the text already present), a stanza fortests/data/genetic_codes/*.gzwith the existingLicense: NCBItext, and a stanza fortests/data/assembly_metadata/*.json(Ensembl metadata captures).
minor packaging 3. pyensembl ships a 2021 man page for version 1.9.1 documenting a delete-sequence-cache action the CLI no longer has ◂
- Files:
debian/pyensembl.1:1-5,debian/pyensembl.1:9-30,debian/pyensembl.1:39-41,debian/createmanpages - Basis: checked, in the package or with a reference tool
- Evidence:
.TH PYENSEMBL "1" "May 2021" "pyensembl 1.9.1+ds" "User Commands",pyensembl {install, delete, delete\-sequence\-cache} [\-\-release XXX \fB\-\-species\fR human...], and the page ends withpyensembl: error: the following arguments are required: action. pyensembl/shell.py:367-380 accepts onlyinstall, list, inspect, verify, available, delete-index-files, delete-all-files, prune. - Problem: The pyensembl binary package installs a manual page generated in 2021 from a 1.9.1 command. The actions
deleteanddelete-sequence-cacheshown there are rejected by the current argparse parser, and inspect, verify, available and prune, which the command does offer, are absent, so the page misleads users about the program it documents (Policy 12.1 requires the program to have a manual page; a wrong one is a bug in the package). The trailing line is a stderr message captured by help2man --no-discard-stderr, not usage text. debian/createmanpages, which produced it, is equally stale: it writesdebian/manpagesrather thandebian/pyensembl.manpagesand needs help2man, which is not a build-dependency, so it cannot regenerate the page in a clean tree. - Fix: Regenerate debian/pyensembl.1 from the current CLI (run the staged usr/bin/pyensembl through help2man and delete the captured error line), or write it by hand covering the eight actions and their main options; then drop debian/createmanpages or fix it to write debian/pyensembl.manpages.
Verified ◂
- Read debian/copyright in full (257 lines): DEP-5, correct Format URL, Files: * catch-all, three data stanzas and a Files: debian/* stanza in last-match order, the Apache-2.0 text quoted with a pointer to /usr/share/common-licenses/Apache-2.0, and no Files-Excluded, consistent with the 2.33.2-1 orig tarball not having been repacked.
- Licence evidence across all 237 upstream files: pyensembl/*.py carry
Licensed under the Apache License, Version 2.0headers (fasta.py addsCopyright (c) 2015-2016. Mount Sinai School of Medicine), README.md says Apache-2.0, and grep for copyright/(C)/©/SPDX-License-Identifier/Licensed under/GNU General Public/Apache License/Mozilla Public/public domain/All rights reserved found no other notice, no non-free wording and no third-party code notice. - The three data licences in debian/copyright are reproduced in full and none restricts modification or redistribution: EMBL-EBI's Terms of Use say
EMBL-EBI itself places no additional restrictions on the use or redistribution of the data, Ensembl's disclaimer saysno restrictions on access to, or use of, the data, and NCBI's policy saysNCBI itself places no restrictions on the use or distribution of the data. - Archives: none of the ten compressed files is installed, and none is an opaque built binary of third-party code. tests/data/genetic_codes/fungi.tsv.gz, metazoa.tsv.gz, plants.tsv.gz, protists.tsv.gz, vertebrates.tsv.gz, gc.prt.gz and taxonomy.xml.gz are, per tests/data/genetic_codes/README.md,
verbatim upstream responses, gzip-compressed with mtime=0captured from NCBI by scripts/capture_genetic_code_metadata.py (capture.json records the eutils URL and date), so the preferred form is the documented NCBI response, not something missing. tests/data/assembly_metadata/legacy-cache-2.28.3.tar.gz, tests/data/genetic_codes/pyensembl-2.30.1-cache.tar.gz and tests/data/tomato_sl4/pyensembl-2.30.0-cache.tar.gz are tiny GTF/FASTA/SQLite compatibility caches built by the released upstream pyensembl 2.28.3, 2.30.1 and 2.30.0 code, as their READMEs state; they are upstream's own test fixtures. I did not open the compressed files (binary). - Prescan holder check agrees with my reading of debian/copyright: the holders present in the tree (Mount Sinai School of Medicine, EBI/EMBL-EBI, NCBI) are all named in the file; what is missing is stanza coverage, which is the licensing issue above.
- Neither binary package ships tests, docs, scripts or test data: debian/pyensembl.install is
usr/bin/pyensembl, debian/python3-pyensembl.install isusr/lib/python3*, debian/pyensembl.manpages isdebian/*.1. - The shipped data files pyensembl/assembly_catalog.json, pyensembl/genetic_code_catalog.json and pyensembl/release_comparisons.json have their generators in the package (scripts/build_assembly_catalog.py, scripts/build_genetic_code_catalog.py, scripts/capture_release_comparisons.py), so they are not generated code shipped without its input; they are compiled assembly/codon/checksum metadata, not copied third-party text.
- Build-time tests do run under pytest, not silently under unittest: /usr/share/perl5/Debian/Debhelper/Buildsystem/pybuild.pm:212 adds --test-pytest because python3-pytest is in Build-Depends (python_build_dependencies scans the field textually, so the <!nocheck> profile does not hide it), and the -k expressions in debian/rules match module names because pytest names File nodes with their .py suffix (_pytest/nodes.py:576).
- debian/patches/use-staged-cli-in-tests.patch works as its changelog entry says: the pyproject plugin prepends the unpacked wheel's scripts directory to PATH for the test step (/usr/share/dh-python/dhpython/build/plugin_pyproject.py:244-247), so
which("pyensembl")resolves to the staged console script and no installed pyensembl is needed. - debhelper compat 13: debian/rules has no override_ or hook targets, so nothing needs its own nocheck check; python3-pytest and python3-mypy are the only <!nocheck> dependencies and both are used only by the test step, so their profile is right.
- Both patches carry DEP-3 headers (Description, Author, Forwarded, Last-Update) and both are listed in debian/patches/series; skip-benchmark.patch moves the tinytimer import behind the opt-in benchmark branch, and test_timings.py is also excluded from the build run.
- Package split is coherent: python3-pyensembl takes over usr/lib/python3* from the former combined package with
Breaks: pyensembl (<< 2.33.2-1~)andReplaces: pyensembl (<= 2.33.2-1), pyensembl keeps the command and man page and depends onpython3-pyensembl (= ${binary:Version}); both still build as Architecture: all, Section science/python. - Standards-Version 4.7.4 matches the reviewing system's Policy 4.7.4.1 in its first two components, and Vcs-Git, Vcs-Browser and Homepage are present and consistent with debian/upstream/metadata.
- apt-cache: python3-argcomplete 3.7.0, python3-pyfaidx 0.8.1.3, python3-mypy 2.4.1, python3-pytest 9.1.1, python3-serializable 1.3.1, python3-memoized-property 1.0.3 and pybuild-plugin-pyproject (7.20261030, pulling python3-build and python3-installer) exist and satisfy their constraints; python3-filelock and python3-tqdm, imported by pyensembl but not in Build-Depends, arrive as Depends of python3-datacache 1.27.1.
- debian/tests/control
Depends: python3, python3-mypy (>= 1.18), python3-pytest, @is correct: @ expands to this source's binary packages, whose generated Depends carry the runtime requirements, and the test script sets no_proxy for its loopback HTTP fixtures, so no needs-internet restriction is required. - Changelog sanity: top entry pyensembl (2.33.2-1), distribution unstable, urgency medium, version matching pyensembl/version.py (2.33.2); the older 2.10.4-1 UNRELEASED entry below it is superseded and harmless.
- No binary files other than the ten gzip fixtures: the tree has no images, fonts or audio, and the only shell helpers (deploy.sh, develop.sh, docs.sh, lint.sh, lint-and-test.sh, test.sh) are upstream's own, Apache-2.0 per LICENSE.
- uscan found the packaged version as the newest upstream release (upstream
2.33.2, packaged2.33.2). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed ◂
- Whether python3-gtfparse >= 2.9 or python3-datacache >= 1.30.0 uploads exist outside the archive lists the apt-cache tool reads (it warns they may be some days old). If they are already in NEW, the Build-Depends issue disappears.
- I could not build the package or run its tests. In particular I did not verify that every test left enabled by the -k list in debian/rules runs without network: tests/common.py creates cached_release(75) and cached_release(93), which fetch data when first queried, and tests/test_ensembl_gtf.py's only function is named gtf_path_endswith_gtf_gz, which pytest does not collect, so my reading is that the remaining tests are offline.
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader was emailed about the review 1 hour ago.