DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: python-brutils 2.5.0-2

Package Information

DescriptionSolving daily problems in Brazilian business app development

A set of libraries for the data every Brazilian system handles: CPF, CNPJ, CEP, license plates, phone numbers, boletos and more. They validate, format, parse and generate that data.

MaintainerPaulo Henrique de Lima Santana (phls) <phls@debian.org>
Changed ByPaulo Henrique de Lima Santana (phls) <phls@debian.org>
Sponsorphls@debian.org
Distributionunstable
Architectureall
Trackerhttps://tracker.debian.org/pkg/python-brutils
Uploaded15 days ago
Supersedes2.5.0-1

New Package Report

.changes◂
Distributionunstable
DateFri, 23 Oct 2026 12:27:23 -0300
Sourcepython-brutils
Version2.5.0-2
Changed-ByPaulo Henrique de Lima Santana (phls) <phls@debian.org>
Architecturesource all
Changelog◂
python-brutils (2.5.0-2) unstable; urgency=medium
 .
   * Fixed issues reported dfsg new queue.
.dsc◂
Sectionpython
Priorityoptional
Componentmain
Package-Listpython3-brutils deb python optional arch=all
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://pypi.org/project/brutils/#files
Upstream-Name: brutils
Upstream-Contact: Brazilian Utils <cumbucadev@brazilian-utils.com.br>

Files: CHANGELOG.md
       CODE_OF_CONDUCT.md
       CODE_OF_CONDUCT_EN.md
       CONTRIBUTING.md
       CONTRIBUTING_EN.md
       CORE_TEAM.md
       CORE_TEAM_EN.md
       LICENSE
       MAINTAINING.md
       Makefile
       README.md
       README_EN.md
       brutils/__init__.py
       brutils/cep.py
       brutils/cnh.py
       brutils/cnpj.py
       brutils/cpf.py
       brutils/currency.py
       brutils/data/cities_code.json
       brutils/data/enums/__init__.py
       brutils/data/enums/better_enum.py
       brutils/data/enums/months.py
       brutils/data/enums/uf.py
       brutils/data/legal_process_ids.json
       brutils/date_utils.py
       brutils/email.py
       brutils/exceptions/__init__.py
       brutils/exceptions/cep.py
       brutils/ibge/__init__.py
       brutils/ibge/municipality.py
       brutils/ibge/uf.py
       brutils/legal_nature.py
       brutils/legal_process.py
       brutils/license_plate.py
       brutils/passport.py
       brutils/phone.py
       brutils/pis.py
       brutils/renavam.py
       brutils/schemas/__init__.py
       brutils/schemas/address.py
       brutils/voter_id.py
       codecov.yml
       old_versions_documentation/README.md
       old_versions_documentation/v1.0.1/ENGLISH_VERSION.md
       old_versions_documentation/v1.0.1/PORTUGUESE_VERSION.md
       poetry.lock
       pyproject.toml
       requirements-dev.txt
       tests/__init__.py
       tests/ibge/__init__.py
       tests/ibge/test_municipality.py
       tests/ibge/test_uf.py
       tests/license_plate/__init__.py
       tests/license_plate/test_is_valid.py
       tests/license_plate/test_license_plate.py
       tests/phone/__init__.py
       tests/phone/test_is_valid.py
       tests/phone/test_phone.py
       tests/test_cep.py
       tests/test_cnh.py
       tests/test_cnpj.py
       tests/test_cpf.py
       tests/test_currency.py
       tests/test_date_utils.py
       tests/test_email.py
       tests/test_imports.py
       tests/test_legal_nature.py
       tests/test_legal_process.py
       tests/test_passport.py
       tests/test_pis.py
       tests/test_renavam.py
       tests/test_voter_id.py
       .flake8
       .githooks/pre-push
       .github/CODEOWNERS
       .github/FUNDING.yml
       .github/ISSUE_TEMPLATE/*
       .github/dependabot.yml
       .github/pull_request_template.md
       .github/workflows/autoassign-issue-v1.yml
       .github/workflows/check-lint.yml
       .github/workflows/close-stale-issues-v1.yml
       .github/workflows/publish-to-production.yml
       .github/workflows/run-tests.yml
       .github/workflows/validate-pr-title-v1.yml
       .gitignore
Copyright: 2017-2026, Brazilian Utils <cumbucadev@brazilian-utils.com.br>
License: MIT
Comment:
 Using license as found in LICENSE file.

Files: debian/*
Copyright: 2026 Paulo Henrique de Lima Santana (phls) <phls@debian.org>
License: MIT

License: MIT
 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 15 days ago.

Report◂

DFSG NEW review for python-brutils version 2.5.0-2

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 entire upstream tree is MIT-licensed under a single holder (Brazilian Utils). debian/copyright is DEP-5 (format 1.0) and enumerates every upstream file in one Files stanza with the correct MIT short name and full licence text, plus a debian/* stanza. The prescan's author check found every holder named in debian/copyright. No built/preferred-form, non-free, or unclear-provenance files were flagged; the two JSON data files are factual code lists covered by the MIT stanza. Licence text matches LICENSE (MIT).

Packaging

Clean modern packaging: debhelper compat 14 via debhelper-compat (= 14), dh-sequence-python3/dh-sequence-single-binary/pybuild-plugin-pyproject, source format 3.0 (quilt), Standards-Version 4.7.4, autopkgtest via Testsuite: autopkgtest-pkg-python, hand-written manpage installed via debian/manpages, sanitized changelog with bug closure. Runtime deps (python3-holidays, python3-num2words) are generated into ${python3:Depends} by dh_python3 from the dist-info Requires-Dist and exist in the archive at compatible versions, so they need not be listed explicitly. Build-Depends includes the runtime libs for the test env. Only cosmetic nits observed (commented-out Vcs-* fields, a stray \fB in the manpage NAME line).

Issues

minor packaging 1. Commented-out Vcs-* fields, no repository reference ◂
  • Files: debian/control
  • Basis: checked, in the package or with a reference tool
  • Evidence: #https://github.com/brazilian-utils/python #Vcs-Browser: https://salsa.debian.org/debian/python-brutils #Vcs-Git: https://salsa.debian.org/debian/python-brutils.git
  • Problem: The Vcs-Browser and Vcs-Git fields are present but commented out, so the binary/source control carries no pointer to the packaging repository. Vcs-* fields are optional per Policy 5.6.26, but the uncommented lines show intent and a first upload would be better served by a live Salsa reference.
  • Fix: Either set up the Salsa repo and enable Vcs-Browser/Vcs-Git, or remove the commented lines.
Verified ◂
  • debian/copyright is DEP-5 format 1.0 with two Files stanzas (one exhaustive upstream MIT list + debian/*) and one stand-alone MIT License paragraph; full MIT text included.
  • Every upstream file (excluding .pc/ and debian/) enumerated by glob is matched by the copyright Files stanza; no file is uncovered and no Files-Excluded is needed.
  • LICENSE is MIT, holder 'Brazilian Utils'; matches the Files stanza holder 'Brazilian Utils' (minor year drift 2023 vs 2017-2026 is not a fault).
  • prescan author check (dfsg-author-check): every holder found among 86 files is named in debian/copyright.
  • data files brutils/data/cities_code.json and legal_process_ids.json are factual code lists, covered by the MIT stanza.
  • Python modules import holidays (date_utils.py:4) and num2words (date_utils.py:5, currency.py:3) at module load; dh_python3 (man) translates Requires-Dist into ${python3:Depends}; python3-holidays 0.97 and python3-num2words 0.5.14 both exist in the archive and satisfy the poetry ranges.
  • Build-Depends includes python3-holidays, python3-num2words, python3-poetry-core, pybuild-plugin-pyproject, dh-sequence-python3, correct for the pybuild/pyproject build.
  • debhelper compat 14; dh correctly runs pybuild and python3 sequence; PYBUILD_NAME set; single-binary sequence used.
  • Runtime deps not listed explicitly in Depends is correct: at compat 14 dh_gencontrol adds ${python3:Depends} and ${misc:Depends} substvars, populated by dh_python3 and dh_missing.
  • Testsuite: autopkgtest-pkg-python and python3-pytest present for autopkgtest; pybuild's default unittest discover finds no pytest-style tests at build, which is benign (tests are left to autopkgtest).
  • uscan found the packaged version as the newest upstream release (upstream 2.5.0, packaged 2.5.0).
Not confirmed ◂
  • No build was run; install layout, manpage placement (man1 for a library) and successful autopkgtest run were not executed.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader was emailed about the review 15 days ago.

Review Information

accepted — allocated to awm 12 days ago, started 12 days ago, completed 12 days ago.

Final Comment

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
2.5.0-1 b74aa449… 2026-10-26 06:28 2026-10-26 06:28 awm accepted VIEW

Back to Dashboard | View all reviews for this package