Review: python-brutils 2.5.0-2
Package Information
| Description | Solving 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. |
|---|---|
| Maintainer | Paulo Henrique de Lima Santana (phls) <phls@debian.org> |
| Changed By | Paulo Henrique de Lima Santana (phls) <phls@debian.org> |
| Sponsor | phls@debian.org |
| Distribution | unstable |
| Architecture | all |
| Tracker | https://tracker.debian.org/pkg/python-brutils |
| Uploaded | 15 days ago |
| Supersedes | 2.5.0-1 |
New Package Report
.changes
| Distribution | unstable |
|---|---|
| Date | Fri, 23 Oct 2026 12:27:23 -0300 |
| Source | python-brutils |
| Version | 2.5.0-2 |
| Changed-By | Paulo Henrique de Lima Santana (phls) <phls@debian.org> |
| Architecture | source all |
Changelog
python-brutils (2.5.0-2) unstable; urgency=medium . * Fixed issues reported dfsg new queue.
.dsc
| Section | python |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | python3-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/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 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) andnum2words(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, packaged2.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
| Version | Hash | Allocated | Completed | Reviewer | Status | Details |
|---|---|---|---|---|---|---|
| 2.5.0-1 | b74aa449… | 2026-10-26 06:28 | 2026-10-26 06:28 | awm | accepted | VIEW |