launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #09830
Dropping Python 2 support from server-side-only lazr.* packages
I'm still slightly wary of dropping Python 2 support from lazr.*
packages that are part of launchpadlib's dependency tree, since old
Ubuntu series are still supported and contain Python 2 versions of those
packages. (Not saying we necessarily have to wait for those old series
to go out of support, just that it seems a less obvious decision.)
However, for packages that are in practice only used on the server side,
specifically as part of Launchpad itself, there doesn't seem much point
retaining Python 2 support now that Launchpad itself is on Python 3. I
therefore propose that we drop Python 2 support from the following
packages:
lazr.batchnavigator
lazr.config
lazr.delegates
lazr.enum
lazr.jobrunner
lazr.lifecycle
lazr.restful
lazr.sshserver
Some of these are used by other packages outside the Launchpad
ecosystem; for instance, lazr.config and lazr.delegates are used by
Mailman. I've checked all the reverse library dependencies that show up
on libraries.io for each of these packages (e.g.
https://libraries.io/pypi/lazr.config/dependents) and they all have
Python 3 support, so this doesn't seem too unreasonable, but we should
bump the major version number anyway to be safe.
In most cases this will mainly involve using "pyupgrade --py3-plus" or
similar to remove Python 2 compatibility code; at least lazr.delegates
has some significant extra complexity on top of the usual sort of thing
that can be stripped out once Python 2 support is no longer required.
What do people think?
--
Colin Watson (he/him) [cjwatson@xxxxxxxxxxxxx]
Follow ups