Anybody still using Python2?

Richard Laager rlaager at wiktel.com
Thu Jan 30 03:08:09 UTC 2025


On 2025-01-29 16:19, James Browning via devel wrote:
 > Dropping 2.7 as well could allow for the removal of ntp.poly& stuff.

This, to me, is the major pro. How big that pro is is debatable. On the 
other hand, as time passes, the usefulness of Python 2 gets less and less.

On 2025-01-29 17:53, Fred Wright via devel wrote:
> But ntpsec provides Python code for *users* to use with it, and needs to 
> support whatever version *users* want or need to use, including Python2 
> code that hasn't been updated to work with Python 3.  Even if a distro 
> comes without Python 2, it's a near certainty that Python 2 is available 
> as a package, so distro contents is a poor criterion.

Who are the actual consumers of the ntpsec Python code?

I think the only users of the ntpsec Python code are the ntpsec 
utilities (written in Python) themselves. I don't think there are 
external users of the "ntp" module to any significant degree (if at all).

If that's the case, then we are in Fred's "it would be just a matter of 
supporting at least one Python version available on any platform of 
interest."

Are there platforms (still worth supporting) that have Python 2 but not 
Python 3 out of the box?

For a while, the answer was yes. But things like RHEL/CentOS 7 are out 
of support now. And I don't think an upstream project like NTPsec needs 
to / should go out of its way to continue supporting distro versions 
that are not receiving security updates from the distro itself.

At this point, Python 2 itself is 5 years past its official end of 
support. It's time to let it die _here_. There might be value in some 
banking system keeping Python 2 going for their in house code or 
whatever. But here, we are talking about whether NTPsec upstream needs 
to keep supporting Python 2. If $large_bank needs to keep Python 2 going 
for their code, nothing is stopping them from installing Python 3 as 
well, and using that for the ntpq utility.

Here is my suggested path forward:

1. Drop support for Python 2.6. There seems to be no objection to that.
2. Update waf, if possible.
3. Cut a release. In the release notes, indicate that we intend for this 
to be the last release supporting Python 2.
4. Drop support for Python 2 from master.

-- 
Richard



More information about the devel mailing list