Bug 2545828
| Summary: | Review Request: python-pfzy - Python port of the fzy fuzzy string matching algorithm | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Clement Verna <clems.verna> |
| Component: | Package Review | Assignee: | Nobody's working on this, feel free to take it <nobody> |
| Status: | NEW --- | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | package-review |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | --- | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | Type: | --- | |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Clement Verna
2026-10-05 08:22:25 UTC
This is an informal review; I am not a sponsored packager yet, so I cannot set the fedora-review flag. I rebuilt the SRPM in a fedora:rawhide container (Python 3.15) and checked: - Source matches upstream: SHA256 4a36126e045da6471c53e9ea36424296307a1841bd828a41574d7a4aa58dbcea for both the tarball in the SRPM and https://github.com/kazhala/pfzy/archive/0.3.4/pfzy-0.3.4.tar.gz - 0.3.4 is the latest upstream release (GitHub and PyPI) - License: MIT. LICENSE is the MIT text, licensecheck finds nothing else, and the file is installed through %pyproject_save_files -l - Not already packaged in Fedora (no python3dist(pfzy) in rawhide) - Builds; %check passes (6 tests) - rpmlint on the SRPM and the noarch RPM: 0 errors, 0 warnings - Requires is only python(abi) = 3.15, which matches upstream (no runtime dependencies); Provides are sane - The package owns %{python3_sitelib}/pfzy and its dist-info; README.md is in %doc - It installs, and works as described: asyncio.run(pfzy.fuzzy_match("ab", ["abc", "xyz", "aXb"])) -> [{'value': 'abc', 'indices': [0, 1]}, {'value': 'aXb', 'indices': [0, 2]}] Suggestions (none of them blocking): 1. The modules have doctests (pfzy/match.py, pfzy/score.py), and upstream enables them with --doctest-modules. Scoping %check to tests/ skips them. With %pytest tests pfzy setup.py is still not collected, and the doctests run as well: 12 tests pass instead of 6 (verified with a local rebuild). 2. Consider adding %pyproject_check_import to %check. 3. Minor: the BuildRequires are under %package -n python3-pfzy. That works, but they are usually placed in the main preamble. Otherwise the package looks good to me. |