DFSG NEW Queue

DFSG, Licensing & New Packages Team

python-cobs 1.2.2-1

Package Information

DescriptionConsistent Overhead Byte Stuffing (COBS) for Python 3

COBS is a byte-stuffing scheme that removes all zero bytes from a packet, so zero can be used as an unambiguous frame delimiter, while keeping the worst-case size increase small and predictable.

This library encodes and decodes plain COBS and the COBS/R variant, which often avoids the extra byte of overhead. It uses a C extension and falls back to pure Python if the extension is unavailable.

MaintainerDebian Python Team <team+python@tracker.debian.org>
Changed ByDamian Daniel <damian@danielovci.net>
Sponsorjcfp@debian.org
Distributionunstable
Architectureany
VCSgit: https://salsa.debian.org/python-team/packages/python-cobs.git (browse)
Closes#1008738
Trackerhttps://tracker.debian.org/pkg/python-cobs
Uploaded2 hours ago

New Package Report

.changes◂
Version1.2.2-1
Changed-ByDamian Daniel <damian@danielovci.net>
Architecturesource amd64
Distributionunstable
DateWed, 04 Nov 2026 12:00:00 +0000
Sourcepython-cobs
Changelog◂
python-cobs (1.2.2-1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1008738)
.dsc◂
Priorityoptional
Componentmain
Package-Listpython3-cobs deb python optional arch=any
Sectionpython
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: cobs
Upstream-Contact: Craig McQueen <python@craig.mcqueen.id.au>
Source: https://github.com/cmcqueen/cobs-python

Files: *
Copyright: 2010 Craig McQueen
License: Expat

Files: debian/*
Copyright: 2026 Damian Daniel <damian@danielovci.net>
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 1 hour ago.

Report◂

DFSG NEW review for python-cobs version 1.2.2-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

debian/copyright is DEP-5 with the correct Format URL. Its two stanzas, Files: * (2010 Craig McQueen, Expat) and the later Files: debian/* (2026 Damian Daniel, Expat), cover every file in the tree, including the setuptools metadata shipped in the sdist. The full Expat/MIT text is present inline in the file and in LICENSE.txt and both C extensions; nothing is vendored from a third party and nothing carries non-free terms. No repack was needed, so the absent Files-Excluded is correct.

Packaging

Ordinary, correctly built Python-team packaging: debhelper compat 14 with dh sequences plus pybuild's pyproject plugin, hardening enabled, single-binary addon named explicitly, no patches and no maintainer scripts, an autopkgtest that runs the upstream unit tests against the installed package and asserts the C extension is in use, and a current Standards-Version. Package relationships are handled by dh at compat 14, so the binary stanza needs no Depends field. The only fault found is an upstream version constant that was not bumped for 1.2.2.

Issues

minor packaging 1. cobs.version reports 1.2.1 in the 1.2.2 release ◂
  • Files: src/cobs/_version/__init__.py:17, pyproject.toml:7, setup.py:12
  • Basis: checked, in the package or with a reference tool
  • Evidence: src/cobs/_version/__init__.py: VERSION_PATCH = 1, so VERSION_STRING = '1.2.1' and __version__ = VERSION_STRING; but pyproject.toml has version = "1.2.2", setup.py has version="1.2.2", and debian/changelog says python-cobs (1.2.2-1).
  • Problem: cobs._version is installed (it is in setup.py's packages list) and src/cobs/__init__.py does from ._version import *, so in the installed python3-cobs 1.2.2 package cobs.__version__ answers "1.2.1". Anyone checking the library version, or reporting a bug against it, gets the wrong answer, and it contradicts the packaging's version. This is an upstream release mistake, unchanged in the orig tarball, not something the packaging introduced.
  • Fix: Forward to upstream (craig.mcqueen.id.au) so the constant is bumped with the release. If the maintainer wants the shipped value right now, add a small quilt patch setting VERSION_PATCH = 2 with DEP-3 headers and Forwarded: <upstream URL>, and mention it in debian/changelog.
Verified ◂
  • The prescan's copyright-holder check found nothing missing: every holder it found is in debian/copyright — 2010 Craig McQueen in Files: * and 2026 Damian Daniel in Files: debian/* — and it listed no files that need an individual account.
  • Read the whole tree but for .pc/ and debian/cargo-checksum.json (neither exists here): 23 upstream files, i.e. LICENSE.txt, MANIFEST.in, PKG-INFO, README.rst, pyproject.toml, setup.cfg, setup.py, cobs.egg-info/{PKG-INFO,SOURCES.txt,dependency_links.txt,top_level.txt}, src/ext/{_cobs_ext.c,_cobsr_ext.c}, the src/cobs/ package (including _version/__init__.py and the two test.py modules) and test/{test_cobs.py,test_cobsr.py}.
  • Expat evidence: LICENSE.txt and both C extensions carry Copyright (c) 2010 Craig McQueen and the full MIT permission notice; README.rst and PKG-INFO say :Copyright: 2010 Craig McQueen and "released under the MIT license"; the Python sources carry no per-file notice and are covered by Files: *. No (C)/©/SPDX/LGPL/GPL/Apache/MPL/public-domain wording anywhere else; no All rights reserved, no non-commercial or no-modification clause.
  • cobs.egg-info/, the root PKG-INFO and setup.cfg are setuptools' sdist metadata, generated from pyproject.toml and setup.py, both of which are present; they contain no compiled code, minified code, archives or PDFs, so they are not built files lacking their preferred form. No other generated or binary files exist in the tree.
  • No vendored third-party code: the C extensions include only Python.h and implement COBS/COBS-R themselves; no LICENSE/COPYING/NOTICE/AUTHORS file other than LICENSE.txt, and no second copyright holder.
  • The README refers to Sphinx sources in a doc/ directory that the sdist does not ship, but no built HTML/PDF documentation is shipped either, so nothing here is documentation without its source.
  • Read all of debian/: control, rules, changelog, copyright, gbp.conf, salsa-ci.yml, source/format (3.0 (quilt)), tests/control, tests/python3-cobs-upstream, upstream/metadata; there is no debian/patches, no maintainer script, no .install/.links/.docs/.dirs and no debian/compat.
  • Build-Depends all resolve in the archive: dh-sequence-python3 (dh-python), pybuild-plugin-pyproject (dh-python), dh-sequence-single-binary (debhelper 14.5), plus python3-all-dev and python3-setuptools; compat 14 with dh $@ --buildsystem=pybuild and hardening=+all is sound, and naming dh-sequence-single-binary explicitly is what compat 14 asks for.
  • The binary stanza has no Depends field, which is correct at compat 14: dh_gencontrol adds the relationship substvars (python3:Depends, shlibs:Depends, misc:Depends) itself. The trailing comma after python3-setuptools in Build-Depends is dropped by dpkg-source in the generated .dsc and is cosmetic only.
  • Standards-Version 4.7.4 against Policy 4.7.4.1 (policy tool) shares its first two components, so it is current. Vcs-Git/Vcs-Browser point at the Python-team salsa repository, Section is python, Architecture any is right for a package with a C extension.
  • autopkgtest: the script's assertion on _using_extension matches both subpackages' __init__.py, which set it True/False around the extension import; the upstream test.py modules ship inside the installed package and only call unittest.main() under if __name__ == '__main__', so python3 -m unittest cobs.cobs.test cobs.cobsr.test works. The tests/control Depends (python3-cobs, python3-all) is otherwise sufficient.
  • The unpacked tree matches the orig tarball (whose top-level directory is cobs-1.2.2, the PyPI sdist name, normal for a debian source named python-cobs), so nothing was stripped by a repack and Files-Excluded is correctly absent.
  • uscan found the packaged version as the newest upstream release (upstream 1.2.2, packaged 1.2.2).
Not confirmed ◂
  • debian/tests/python3-cobs-upstream calls py3versions, which neither declared test dependency (python3-cobs, python3-all) is known to provide; whether the autopkgtest testbed supplies it could only be shown by an actual autopkgtest run, so it is not reported as a fault.
  • Whether Debian bug #1008738, closed by the initial upload in debian/changelog, is the ITP for this package could not be checked: the Debian BTS is not reachable from this review.
  • 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: read: "xd://policy?document=copyright-format&section=6.9" 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 1 hour ago.

Back to Dashboard | View all reviews for this package