DFSG NEW Queue

DFSG, Licensing & New Packages Team

pyensembl 2.33.2-1

Package Information

Descriptioncommand-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.

MaintainerDebian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Changed BySteffen Moeller <moeller@debian.org>
Sponsormoeller@debian.org
Distributionunstable
Architectureall
VCSgit: https://salsa.debian.org/med-team/pyensembl.git (browse)
Popcon Installs117
Binary NEWYes (new binary packages of a source already in sid)
Trackerhttps://tracker.debian.org/pkg/pyensembl
Uploaded2 hours ago

New Package Report

.changes◂
Version2.33.2-1
Changed-BySteffen Moeller <moeller@debian.org>
Architecturesource all
Distributionunstable
DateSat, 14 Nov 2026 13:25:28 +0100
Sourcepyensembl
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-Listpyensembl deb science optional arch=all
python3-pyensembl deb python optional arch=all
Sectionscience
Priorityoptional
Componentmain
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/copyright is 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), and python3-gtfparse (>= 2.9), against the reviewing system's lists: Package: python3-gtfparse / Version: 1.3.0+ds-3 and Package: python3-datacache / Version: 1.27.1-1. The changelog states the demands: Demands newer version of gtfparse and require 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.0 and datacache[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-datacache before 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 URLs https://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: Unrestricted in 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/*.gtf with Copyright: 2001-2025 EMBL-EBI, Hinxton, UK and License: Unrestricted (the text already present), a stanza for tests/data/genetic_codes/*.gz with the existing License: NCBI text, and a stanza for tests/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 with pyensembl: error: the following arguments are required: action. pyensembl/shell.py:367-380 accepts only install, 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 delete and delete-sequence-cache shown 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 writes debian/manpages rather than debian/pyensembl.manpages and 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.0 headers (fasta.py adds Copyright (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 says no restrictions on access to, or use of, the data, and NCBI's policy says NCBI 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=0 captured 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 is usr/lib/python3*, debian/pyensembl.manpages is debian/*.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~) and Replaces: pyensembl (<= 2.33.2-1), pyensembl keeps the command and man page and depends on python3-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, packaged 2.33.2).
  • Every pointer of debian/copyright to /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.

Back to Dashboard | View all reviews for this package