python-py2opsin 1.2.0+ds-1
Package Information
| Description | Python 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. |
|---|---|
| Maintainer | Debichem Team <debichem-devel@lists.alioth.debian.org> |
| Changed By | Andrius Merkys <merkys@debian.org> |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/debichem-team/python-py2opsin.git (browse) |
| Closes | #1153018 |
| Tracker | https://tracker.debian.org/pkg/python-py2opsin |
| Uploaded | 5 hours ago |
New Package Report
.changes
| Architecture | source all |
|---|---|
| Distribution | unstable |
| Date | Wed, 04 Nov 2026 09:27:14 -0500 |
| Source | python-py2opsin |
| Version | 1.2.0+ds-1 |
| Changed-By | Andrius Merkys <merkys@debian.org> |
Changelog
python-py2opsin (1.2.0+ds-1) unstable; urgency=medium . * Initial release. (Closes: #1153018)
.dsc
| Priority | optional |
|---|---|
| Component | main |
| Package-List | python3-py2opsin deb science optional arch=all |
| Section | science |
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/copyrightis 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 onlypython3-py2opsin deb science optional arch=all.apt-cache show python-python-py2opsin-docreports 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 noDescription:,Origin:,Forwarded:orLast-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'slicense="MIT"and the© Copyright 2022, Jackson Burnsfooters of the HTML in docs/; all agree with theFiles: */License: Expatstanza. - setup.py names
Jackson Burns, Jonathan Zhengas 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/_staticandpy2opsin/*.jar; no*.jarexists 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.jsis Sphinx's generated, minified search index, anddocs/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.doctreeanddocs/test.doctreeare doctrees, the inventory and the pickled build environment generated fromdocs/*.rstanddocs/conf.py(copies of the rst text are indocs/_sources/); no binary package installs them. - The docs pages
docs/blankpythonproject*,docs/setup.*,docs/start_project.*and theSimplifySplittingChemicalstitle 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.txtandtest/data/cml_test.cmlare 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 byFiles: *.- examples/py2opsin_example.ipynb has no stored outputs or images, and
py2opsin_demo.gifis an upstream demo image, covered byFiles: *. - No generated build leftovers in the tree: no
.egg-info,__pycache__or*.pycanywhere. - pybuild really runs the tests: /usr/share/perl5/Debian/Debhelper/Buildsystem/pybuild.pm (lines 204-218) adds
--test-pytestbecausepython3-pytestis in Build-Depends, soPYBUILD_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
javais 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, packaged1.2.0+ds).
Not confirmed ◂
- The patched default
/usr/share/java/opsin-cli.jarcould 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.invandpy2opsin_demo.gifwere 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.