I filed this under Certbot, but it also affects the packages for python-acme, python-josepy, and all of Certbot's plugin. Due to pressure from its dependencies, the Certbot team is planning on dropping support for Python 2 in the next few months. If we want to be able to continue to provide updates to the packages in EPEL 7, python3 packages should be created. Ideally, I think packages such as certbot should automatically transition from python2 to python3 to provide a smooth upgrade path for people.
Thank you very much for filing this report and I think a smooth transition should be possible (we did this in the past with - iirc - borgbackup). I have this somehow on my radar but I'd be glad if another packager could help out here. For example updating python-cloudflare can be problematic (bug 1798794) as they are dropping Python 2 testing.
Awesome! Please let me know if there's anything we can do upstream to help make this easier.
Brad: Thank you very much for your help. I suspect we mostly need a bit of testing by epel users. As a package maintainer I value a comprehensive test suite which we can run on each build. I don't have time to test all package updates (even less on all supported versions of Fedora+EPEL) but I hope that a passing test suite should catch most errors. Also this helps us when we switch to a new Python version like Python 3.9.
All of Certbot's components include unit tests with 90%+ test coverage which I think should catch most packaging problems that I can imagine. For bigger changes such as adding plugins to EPEL 8 for the first time or switching the packages to Python 3, I'm happy to help do a bit of additional testing on the proposed packages by running tests we cannot easily include in the packages themselves. I'm planning to do this for the Apache and nginx plugins in EPEL 8 soon.
I filed a couple of bugs as we need Python 3 versions of all dependencies. The first step would be to get python3-acme into EPEL 7 (bug 1813670). Any help is welcome. Just start with one of the dependencies of python-acme.
I'm digging through the whole stack to provide Python 3 versions of all packages but it will take quite until everything is ready (but 2020 should be achievable). Help appreciated (just pick on of the linked bugs).
At this point EPEL7 is less than a year from retirement. I have no plans of shipping certbot packages for Python 3 in EPEL 7.