inventree-python 0.25.0-1
Package Information
| Description | Python 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. |
|---|---|
| Maintainer | Debian Python Team <team+python@tracker.debian.org> |
| Changed By | Jakob Haufe <sur5r@debian.org> |
| Sponsor | sur5r@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/python-team/packages/inventree-python.git (browse) |
| Closes | #1153546 |
| Tracker | https://tracker.debian.org/pkg/inventree-python |
| Uploaded | 3 hours ago |
New Package Report
.changes
| Version | 0.25.0-1 |
|---|---|
| Changed-By | Jakob Haufe <sur5r@debian.org> |
| Architecture | source all |
| Distribution | unstable |
| Date | Mon, 09 Nov 2026 21:01:29 +0100 |
| Source | inventree-python |
Changelog
inventree-python (0.25.0-1) unstable; urgency=medium . * Initial release. (Closes: #1153546)
.dsc
| Section | python |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | python3-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/copyrightis 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 declaresTestsuite: 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 emptyoverride_dh_auto_testin 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-pythonto 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 laterdebian/*stanza overrides it for the packaging; the embedded Expat text is complete and matches LICENSE's wording;/usr/share/common-licenseshas no Expat file, so embedding it is required;2019 InvenTree projectvs the LICENSE'sCopyright (c) 2019 InvenTreeis 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-binaryto Sequence/single_binary.pm, which doesadd_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-dirwhen it differs from debian/tmp; dh_install only copies what a debian/*.install lists (see /usr/bin/dh_install, and itsDH 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_metawithsetuptools >= 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 = inventreeinto 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 missingTestsuite:header that keeps autodep8 from being invoked. - debian/rules: the empty
override_dh_auto_testis not anocheckdefect 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, packaged0.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.