Bug 2107901

Summary: Review Request: python-retry - Easy to use retry decorator
Product: [Fedora] Fedora Reporter: Ben Beasley <code>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review, sandhillsinvestment
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: Trivial
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-07-25 16:53:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1276941, 2039280    

Description Ben Beasley 2022-07-17 13:29:03 UTC
Spec URL: https://music.fedorapeople.org/python-retry.spec
SRPM URL: https://music.fedorapeople.org/python-retry-0.9.2-1.fc36.src.rpm
Description:

Easy to use retry decorator.

Features:

  • No external dependency (stdlib only).
  • (Optionally) Preserve function signatures (pip install decorator).
  • Original traceback, easy to debug.

Fedora Account System Username: music

Koji scratch builds:
F37: https://koji.fedoraproject.org/koji/taskinfo?taskID=89607962
F36: https://koji.fedoraproject.org/koji/taskinfo?taskID=89607966
F35: https://koji.fedoraproject.org/koji/taskinfo?taskID=89607968

This package hasn’t been updated upstream in a long time, but it is simple (easy to fix if needed) and is still required by the latest version of snakemake (https://github.com/snakemake/snakemake/).

Comment 1 Jeff 2022-07-21 22:08:03 UTC
A fork of this at https://github.com/leshchenko1979/reretry has been updated for python3 (3.6, 3.7, 3.8, 3.9, 3.10) and is actively maintained. Last updated May 2022.

I would suggest that the build for fedora be based on the fork and not on the unmaintained original. retry was last updated ~6 years ago.

Comment 2 Ben Beasley 2022-07-22 16:27:07 UTC
(In reply to Jeff from comment #1)
> I would suggest that the build for fedora be based on the fork and not on
> the unmaintained original. retry was last updated ~6 years ago.

An interesting suggestion. I notice:

- The fork has a new name, so it would be python-reretry. In theory both the original and the fork could be packaged.
- Based on PyPI and GitHub statistics and Wheelodex reverse dependencies, the original is still much more popular (probably because it hasn’t yet broken on any of the new Python versions).

I think the fork looks promising, although it isn’t entirely clear whether it will collect the momentum of the original user base or whether it will remain maintained after the initial burst of activity in May 2022.

I’ve asked snakemake upstream if they would like to switch or not: https://github.com/snakemake/snakemake/issues/1776

Still, I think I’m going to go ahead and submit python-reretry for review, and write the small patch for snakemake to use it.

Comment 3 Ben Beasley 2022-07-22 16:51:32 UTC
I’m going to keep this open for a little while in case snakemake upstream points out some reason not to use reretry, but my expectation is that I will close this review as NOTABUG and patch snakemake to use reretry, which is up for review as bug 2110001.

Comment 4 Ben Beasley 2022-07-25 16:53:24 UTC
Closing this. It can be reopened if it turns out there is some overwhelming reason to use the original retry over the reretry fork.