This is the report for the Debian Python Team remote sprint that took place on December 2-3-4 2022.
Many thanks to those who participated, namely:
- Étienne Mollier (emollier)
- Taihsiang Ho (tai271828)
- Athos Ribeiro (athos)
- Stuart Prescott (stuart)
- Louis-Philippe Véronneau (pollo)
- Ileana Dumitrescu (ildumi)
- James Valleroy (jvalleroy)
- Emmanuel Arias (eamanu)
- Kurt Kremitzki (kkremitzki)
- Mohammed Bilal (rmb)
- Stefano Rivera (tumbleweed)
- Jeroen Ploemen (jcfp)
Here is a list of issues we worked on:
pybuild autodep8 feature
About a year ago, Antonio Terceiro contributed code to pybuild
to
make it possible to automatically run the upstream test suite as autopkgtests.
This feature has now been merged and uploaded to unstable. Although you can find out more about it in the pybuild-autopkgtest manpage, an email providing more details should be sent to the debian-python mailing list relatively soon.
Fixing packages that run tests via python3 setup.py test
Last August, Stefano Rivera poked the team about the deprecation
of the python3 setup.py test
command to run tests in pybuild
. Although this
feature has been deprecated upstream for 6 years now, many packages
in the archive still use it to run the upstream test suite during build.
Around 29 of the 67 packages that are team-maintained by the Debian Python Team
were fixed during the sprint. Ideally, all of them would be before the feature
is removed from pybuild
.
if a package you maintain still runs this command, please consider fixing it!
Fixing packages that use nose
nose
, provided by the python3-nose
package, is an obsolete testing
framework for Python and has been unmaintained since 2015.
During the sprint, people worked on fixing some of the many bugs filled against
packages still running tests via nose
, but there are still around 240
packages affected by this issue in the archive.
Again, if a package you maintain still runs this command, please consider fixing it!
Removal of the remaining Python2 packages
With the upload of dh-python 5.20221202
, Stefano Rivera officially removed
support for dh_python2
and dh_pypy
, thus closing the "Python2 removal in
sid/bullseye" bug.
It seems some work still needs to be done for complete Python2 removal from Sid, but I expect this will be done in time for the Bookworm release.
Working on Lintian tags for the Team
During the sprint, I managed to work on some Lintian issues that we had targeted, namely:
- the addition of a "missing-cpython-extension" tag to flag packages that do not build CPython extensions for all the supported Python versions.
- fixing a false-positive in the "missing-prerequisite-for-pyproject-backend" tag.
I also worked on a few other Lintian tags, but they were unrelated to the Debian Python Team itself.
I'm also happy to report many of the tags I wrote for the team in the past few months were merged by the awesome Russ Allbery and should land in unstable as soon as a new release is made.
I'm particularly looking forward the new "uses-python-distutils" tag
that should help us flag packages that still use the deprecated distutils
library.
Patching distro-tracker (tracker.debian.org) to show pending team MRs
It's often hard to have a good overview of pending merge requests when working with team-maintained packages, as by default, Salsa doesn't notify anyone when a MR is opened.
Although our workflow typically does not involve creating merge requests, some people still do and they end up sitting there, unnoticed.
During the sprint, Kurt Kremitzki worked on solving this issue by having
distro-tracker
show the pending MRs on our team's tracker page.
Sadly, it seems little progress was made, as the removal of
python3-django-jsonfield
from the archive and breaking changes in
python3-selenium
has broken the test suite.
Migrate packages building with the flit plugin to the generic pyproject one
pybuild
has been supporting building with PEP-517 style pyproject.toml
files
via a generic plugin (pybuild-plugin-pyproject
) for a while now.
As this plugin supersedes the old flit
plugin, we've been thinking of
deprecating it in time for the Bookworm release.
To make this possible, most of the packages in the archive that still used this plugin were migrated to the generic one and I opened bugs on the last handful of packages that were not team-maintained.
Other work
Many other things were done during the sprint, such as:
- improving existing packages (for example, adding or fixing autopkgtests)
- triaging and fixing Python 3.11 bugs
- updating packages to the latest upstream release
- sponsoring uploads
Thanks
Thanks again to everyone who joined the sprint, and three big cheers for all the folks who donate to Debian and made it possible for us to have a food budget for the event.