DFSG NEW Queue

DFSG, Licensing & New Packages Team

inventree-python 0.25.0-1

Package Information

DescriptionPython interface for InvenTree inventory management system (Python 3)

Python library for communication with the InvenTree parts management system using the integrated REST API.

Provides a class-based interface for interacting with the database. Each database table is represented as a class object which provides features analogous to the REST CRUD endpoints (Create, Retrieve, Update, Destroy).

This package installs the library for Python 3.

MaintainerDebian Python Team <team+python@tracker.debian.org>
Changed ByJakob Haufe <sur5r@debian.org>
Sponsorsur5r@debian.org
Distributionunstable
Architectureall
VCSgit: https://salsa.debian.org/python-team/packages/inventree-python.git (browse)
Closes#1153546
Trackerhttps://tracker.debian.org/pkg/inventree-python
Uploaded3 hours ago

New Package Report

.changes◂
Version0.25.0-1
Changed-ByJakob Haufe <sur5r@debian.org>
Architecturesource all
Distributionunstable
DateMon, 09 Nov 2026 21:01:29 +0100
Sourceinventree-python
Changelog◂
inventree-python (0.25.0-1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1153546)
.dsc◂
Sectionpython
Priorityoptional
Componentmain
Package-Listpython3-inventree-python deb python optional arch=all
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/inventree/inventree-python
Upstream-Name: inventree-python
Upstream-Contact: https://github.com/inventree/inventree-python/

Files:
 *
Copyright:
 2019 InvenTree project
License: Expat

Files:
 debian/*
Copyright:
 2026 Jakob Haufe <sur5r@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, 0 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 2 hours ago.

Report◂

DFSG NEW review for inventree-python version 0.25.0-1

Summary

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

Licensing

The whole tree is MIT (Expat) under a single top-level LICENSE, Copyright (c) 2019 InvenTree; no file carries its own notice, and there is no vendored, generated or third-party code. debian/copyright is DEP-5 with the correct Format URL, Files: * naming the holder (as 2019 InvenTree project, the same entity as the LICENSE's InvenTree) and a debian/* stanza for the packager, and it reproduces the complete Expat text, which it must, since Expat is not in /usr/share/common-licenses. The only runtime dependencies (requests, urllib3) are separate packages under compatible permissive/Apache-2.0 terms.

Packaging

debhelper 14 with dh, pybuild (pyproject plugin) and the single-binary add-on; the add-on is what makes dh_auto_install pass --destdir=debian/python3-inventree-python instead of debian/tmp, so pybuild installs directly into the package build directory and no debian/.install is needed. Signed 3.0 (quilt) source with no patches, Standards-Version 4.7.4 (current), sane changelog, Vcs- and upstream/metadata present, and the requests/urllib3 runtime dependencies are generated from the dist-info Requires-Dist by dh_python3. The one defect is that debian/tests/autopkgtest-pkg-python.conf has no effect because debian/control lacks a Testsuite: field, so the package has no autopkgtest at all while the build also switches the upstream suite off.

Issues

minor packaging 1. debian/tests/autopkgtest-pkg-python.conf is inert: debian/control has no Testsuite: autopkgtest-pkg-python, so no autopkgtest exists ◂
  • Files: debian/control:1-14, debian/tests/autopkgtest-pkg-python.conf:1
  • Basis: checked, in the package or with a reference tool
  • Evidence: autodep8(1), AUTOMATIC USAGE BY AUTOPKGTEST: "To achieve that, you must set the Testsuite: field in the source package paragraph to autopkgtest-pkg-TYPE". debian/control's Source stanza has no Testsuite: field, there is no debian/tests/control, and the .dsc carries no Testsuite field either.
  • Problem: The maintainer shipped debian/tests/autopkgtest-pkg-python.conf (import_name = inventree) so that autodep8 would generate the import smoke test for the module (the binary name python3-inventree-python would otherwise give the wrong import name, inventree_python), but autopkgtest only invokes autodep8 when the source declares Testsuite: autopkgtest-pkg-python. Without the header nothing is generated, debci lists the package as having no tests, and the conf file is dead weight. Together with the empty override_dh_auto_test in debian/rules, nothing tests the package anywhere; the autopkgtest specification also says packages should declare the header so their tests can be discovered.
  • Fix: Add Testsuite: autopkgtest-pkg-python to the Source stanza of debian/control and keep debian/tests/autopkgtest-pkg-python.conf, so autodep8's import test (python3 -c "import inventree" for every supported python3) runs in autopkgtest.
Verified ◂
  • Inventoried the whole source tree (55 files, .pc/ skipped as instructed, debian/cargo-checksum.json absent): read in full LICENSE, README.md, TESTING.md, pyproject.toml, requirements.txt, ci/check_version_number.py, .gitignore, .pre-commit-config.yaml, test/docker-compose.yml and every file under debian/; sampled inventree/.py (headers of base.py, api.py, tasks.py) and the test/ data files (attachment.txt, dummytemplate.html).
  • Licence evidence: a tree-wide grep for Copyright, (C), ©, SPDX-License-Identifier, licensed under, permission is hereby, GNU General/Lesser, Apache License, Mozilla Public, public domain, All rights reserved (gitignore: false) matched only LICENSE; no module, workflow, CI script or test data has a header of its own, so the single MIT grant covers everything.
  • Prescan: it listed no files at all - no missing holder, no built/minified/PDF file and no non-free wording - so there is nothing further to account for.
  • debian/copyright correctness: DEP-5 with the standard Format URL; Files: * covers the tree, the later debian/* stanza overrides it for the packaging; the embedded Expat text is complete and matches LICENSE's wording; /usr/share/common-licenses has no Expat file, so embedding it is required; 2019 InvenTree project vs the LICENSE's Copyright (c) 2019 InvenTree is a wording variant of the same holder, not a missing holder.
  • Tarball comparison: LICENSE read from inventree-python_0.25.0.orig.tar.gz is identical to the unpacked file; the .dsc is PGP-signed, Format 3.0 (quilt), its Build-Depends/Build-Depends-Indep match debian/control, and nothing was excluded, so the unpacked tree is the complete upstream source (no Files-Excluded needed).
  • single-binary add-on: SequencerUtil.pm:483 maps --with=single-binary to Sequence/single_binary.pm, which does add_command_options('dh_auto_install', "--destdir=${tmp}/"). /usr/bin/dh_auto_install would otherwise default to debian/tmp at compat 14, and Buildsystem/pybuild.pm only forwards --dest-dir when it differs from debian/tmp; dh_install only copies what a debian/*.install lists (see /usr/bin/dh_install, and its DH NOOP WITHOUT pkgfile-logged(install) promise). The add-on is therefore necessary here and correctly used; without it the package would end up empty, with it pybuild installs into debian/python3-inventree-python and dh_install is correctly a no-op.
  • Build tooling: pyproject.toml uses setuptools.build_meta with setuptools >= 75.3.2; the archive has python3-setuptools 84.2.0, and pybuild-plugin-pyproject exists and depends on python3-build and python3-installer. The dynamic version is a plain module-level literal (INVENTREE_PYTHON_VERSION = "0.25.0", inventree/base.py:11), which setuptools resolves statically, and it matches the 0.25.0 changelog version.
  • Runtime dependencies: dh_python3's parse_requires_dist (dhpython/pydist.py, called from dhpython/depends.py when guess_deps is on) converts the wheel's dist-info Requires-Dist (requests>=2.27.0, urllib3>=2.3.0) into ${python3:Depends}; inventree/base.py imports requests at module level, so the dependency is real and needs no manual Depends entry in debian/control.
  • autodep8: support/autodep8lib.sh read_config parses import_name = inventree into pkg_python_import_name, which support/python/generate then uses as the import name and pairs with the existing python3-inventree-python binary; the conf file itself is correct - it is only the missing Testsuite: header that keeps autodep8 from being invoked.
  • debian/rules: the empty override_dh_auto_test is not a nocheck defect at compat 14 (dh skips overrides of dh_auto_test under nocheck, and the override is empty), and the upstream suite genuinely needs a live InvenTree server (TESTING.md, test/docker-compose.yml pulls inventree/inventree:latest), so no runnable test is being hidden from the build.
  • Policy/practice: Standards-Version 4.7.4 against Policy 4.7.4.1 is current; Section python, Architecture all (pure Python, Multi-Arch not required); debian/source/format 3.0 (quilt) with no debian/patches and no series (valid); debian/source/options extends diff-ignore for the top-level egg-info pybuild may leave; changelog is an initial unstable release with urgency medium, a correct date and an ITP closure; Vcs-Git/Vcs-Browser and upstream/metadata are present and consistent.
  • definitions of the file under review: debian/control's binary package relies on ${misc:Depends}/${python3:Depends} only, which is fine at compat 14 where dh_gencontrol adds relationship substvars itself.
  • uscan found the packaged version as the newest upstream release (upstream 0.25.0, packaged 0.25.0).
Not confirmed ◂
  • The exact Depends line dh_python3 will emit was not observed (no build was run); it follows from dh-python's parse_requires_dist and the archive's pydist mapping, and the package's functional behaviour was not exercised.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader was emailed about the review 2 hours ago.

Back to Dashboard | View all reviews for this package