DFSG NEW Queue

DFSG, Licensing & New Packages Team

python-py2opsin 1.2.0+ds-1

Package Information

DescriptionPython interface to OPSIN: Open Parser for Systematic IUPAC nomenclature

py2opsin is a Python interface to OPSIN, wrapping around OPSIN library written in Java.

This package installs the library for Python 3.

MaintainerDebichem Team <debichem-devel@lists.alioth.debian.org>
Changed ByAndrius Merkys <merkys@debian.org>
Distributionunstable
Architectureall
VCSgit: https://salsa.debian.org/debichem-team/python-py2opsin.git (browse)
Closes#1153018
Trackerhttps://tracker.debian.org/pkg/python-py2opsin
Uploaded5 hours ago

New Package Report

.changes◂
Architecturesource all
Distributionunstable
DateWed, 04 Nov 2026 09:27:14 -0500
Sourcepython-py2opsin
Version1.2.0+ds-1
Changed-ByAndrius Merkys <merkys@debian.org>
Changelog◂
python-py2opsin (1.2.0+ds-1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1153018)
.dsc◂
Priorityoptional
Componentmain
Package-Listpython3-py2opsin deb science optional arch=all
Sectionscience
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/JacksonBurns/py2opsin
Upstream-Name: py2opsin
Upstream-Contact: https://github.com/JacksonBurns/py2opsin/issues
Files-Excluded:
 docs/_static
 py2opsin/*.jar

Files: *
Copyright: 2022, Jackson Burns
License: Expat

Files: debian/*
Copyright: 2026, Andrius Merkys <merkys@debian.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, 1 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 4 hours ago.

Report◂

DFSG NEW review for python-py2opsin version 1.2.0+ds-1

Summary

  • Licensing is DFSG-compliant and debian/copyright is accurate: Yes
  • Packaging is of good quality: No
  • Issues: 0 blocker, 1 important, 1 minor
  • debian/watch: version 5
  • debian/copyright: machine-readable
  • Scan before the review: 11 found

Licensing

debian/copyright is DEP-5 with the canonical Format URL. Files: * (2022 Jackson Burns, Expat) matches LICENSE, README and the Sphinx footer in docs/, and Files: debian/* (2026 Andrius Merkys, Expat) covers the packaging; the full Expat text is included and needs no pointer to /usr/share/common-licenses. The only bundled works under other terms, the prebuilt OPSIN JAR and the Sphinx theme static files, are named in Files-Excluded and are absent from the tree, so the repack is consistent. A tree-wide search found no other copyright holders, no SPDX headers and no non-free wording.

Packaging

Most of the packaging is sound: debhelper compat 13 with dh-sequence-python3/pybuild, Architecture: all, ${python3:Depends}/${misc:Depends}, test dependencies marked <!nocheck>, a current Standards-Version, a sane 1.2.0+ds-1 initial changelog and a working Testsuite (pybuild selects pytest because python3-pytest is a build dependency, so -k 'not test_performance' is understood and the suite really runs). Two defects remain: the control file suggests a doc binary that is never built and exists nowhere, and the single Debian patch has no DEP-3 header.

Issues

important packaging 1. debian/control Suggests python-python-py2opsin-doc, a binary package that is neither built nor in the archive ◂
  • Files: debian/control:26-27

  • Basis: checked, in the package or with a reference tool

  • Evidence:

    Suggests:
     python-python-py2opsin-doc,
    

    The source's only binary stanza is Package: python3-py2opsin, and the .dsc's Package-List has only python3-py2opsin deb science optional arch=all. apt-cache show python-python-py2opsin-doc reports no such package in unstable/experimental, among this package's binaries, or in the NEW queues.

  • Problem: Policy 7.2 makes Suggests a statement that the listed packages are related and may make this one more useful; naming a package that does not exist and is never generated misleads the package managers and users, and the doubled python- prefix is not a Debian binary name here. Nothing installs the Sphinx sources in docs/, so the field also silently documents a doc package that was not built.

  • Fix: Remove the Suggests field, or add a python3-py2opsin-doc binary built from docs/ (and suggest that name instead).

minor packaging 2. debian/patches/system-opsin.patch has no DEP-3 header, so its purpose and forwarding status are undocumented ◂
  • Files: debian/patches/system-opsin.patch:1
  • Basis: checked, in the package or with a reference tool
  • Evidence: The patch begins directly with --- a/py2opsin/py2opsin.py / +++ b/py2opsin/py2opsin.py; there is no Description:, Origin:, Forwarded: or Last-Update: field.
  • Problem: The diff's intent (replace the excluded bundled JAR with the system /usr/share/java/opsin-cli.jar) and whether it was forwarded upstream can only be inferred from the lines themselves; DEP-3 headers are the established way to record this, and quilt refreshes later without them.
  • Fix: Prepend a DEP-3 header, for example Description: Use the system OPSIN jar instead of the bundled one, Origin: Debian, Forwarded: not-needed, Last-Update: 2026-11-05.
Verified ◂
  • Read all of debian/ (control, rules, changelog, copyright, source/format, source/options, patches/series and system-opsin.patch); .pc/ was ignored as instructed.
  • Licensing evidence: the only copyright/licence statements in the tree are LICENSE (MIT License, Copyright (c) 2022 Jackson Burns), README.md's licence section, setup.py's license="MIT" and the © Copyright 2022, Jackson Burns footers of the HTML in docs/; all agree with the Files: * / License: Expat stanza.
  • setup.py names Jackson Burns, Jonathan Zheng as author metadata only; no file carries a copyright notice for anyone other than Jackson Burns, so nothing is missing from debian/copyright.
  • Files-Excluded lists docs/_static and py2opsin/*.jar; no *.jar exists anywhere in the unpacked tree and there is no docs/_static directory, so the repack matches the declaration and no prebuilt OPSIN binary is shipped.
  • All files the scan listed are Sphinx output shipped by upstream under docs/: docs/searchindex.js is Sphinx's generated, minified search index, and docs/blankpythonproject.doctree, docs/blankpythonproject.samplers.doctree, docs/blankpythonproject.utils.doctree, docs/environment.pickle, docs/index.doctree, docs/modules.doctree, docs/objects.inv, docs/setup.doctree, docs/start_project.doctree and docs/test.doctree are doctrees, the inventory and the pickled build environment generated from docs/*.rst and docs/conf.py (copies of the rst text are in docs/_sources/); no binary package installs them.
  • The docs pages docs/blankpythonproject*, docs/setup.*, docs/start_project.* and the SimplifySplittingChemicals title in docs/index.rst are stale sphinx-apidoc output from upstream's docs branch for a module (blankpythonproject) that is not in the tarball; they contain no third-party licence notice, are not used by the Debian build and are not installed, so they are clutter, not a licensing or DFSG problem.
  • test/data/example.txt and test/data/cml_test.cml are test data (the CML file is OPSIN output used by test_name_to_cml); the compound list in test/test_performance.py is a factual IUPAC name list for the skipped performance test. Both are covered by Files: *.
  • examples/py2opsin_example.ipynb has no stored outputs or images, and py2opsin_demo.gif is an upstream demo image, covered by Files: *.
  • No generated build leftovers in the tree: no .egg-info, __pycache__ or *.pyc anywhere.
  • pybuild really runs the tests: /usr/share/perl5/Debian/Debhelper/Buildsystem/pybuild.pm (lines 204-218) adds --test-pytest because python3-pytest is in Build-Depends, so PYBUILD_TEST_ARGS = -k 'not test_performance' is valid pytest syntax; the performance test module is still imported during collection, and python3-pubchempy is present in Build-Depends <!nocheck> (and comes via @builddeps@ in autopkgtest).
  • The Java runtime is available to the package: libopsin-java does not depend on a JRE itself, but libopsin-java -> libwoodstox-java -> libmsv-java -> ant -> default-jre-headless (apt-cache), so java is guaranteed by the declared Depends; not reported as a missing dependency.
  • Standards-Version 4.7.4 against Policy 4.7.4.1: first two components match, so not an issue. Changelog is unstable, initial release closing #1153018, with a matching 1.2.0+ds-1 version scheme.
  • Build-Depends/Depends checked with apt-cache: libopsin-java 2.9.0-1, python3-pubchempy 1.0.5-1, python3-pytest, python3-all, python3-setuptools and dh-sequence-python3 all exist.
  • uscan found the packaged version as the newest upstream release (upstream 1.2.0, packaged 1.2.0+ds).
Not confirmed ◂
  • The patched default /usr/share/java/opsin-cli.jar could not be verified: nothing here can list libopsin-java's contents and libopsin-java is not installed on the reviewing system. If 2.9.0-1 ships the CLI only as /usr/share/java/opsin.jar, the default py2opsin call and the patched test would fail; a build or autopkgtest with libopsin-java installed would show it.
  • Binary files docs/*.doctree, docs/environment.pickle, docs/objects.inv and py2opsin_demo.gif were identified by name and location only, not opened.
  • Why the model asked for what a review has no use for. During this review it asked once for something outside the package and the reviewing system (another file of the sandbox, or a URL), or was given part of the review tooling's own configuration, and that was refused or withheld. A model does this when something it has read tells it to, so look in the package for text addressed to a reviewing program, and treat this report with suspicion. Refused: grep: "xd://policy" is not a file of the package or of the reviewing system.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader was emailed about the review 4 hours ago.

Back to Dashboard | View all reviews for this package