Debian Python Team 2022 Sprint Report

2022-12-08 - Louis-Philippe Véronneau

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:

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.


debianpythonsprint