For the last three years I've been a regular contributor and
core maintainer of auditwheel
, a Python Packaging Authority (or
"PyPA") tool used to build portable binary/extension wheels on Linux.
auditwheel
's "show" command allows developers to check if their Python
wheel's external symbol dependencies comply with the manylinux
policies, and its "repair" command enables developers to more
easily build policy-compliant wheels inside an appropriate environment like a
manylinux Docker image without having to make significant changes
to their build processes.
Most recently, at the last Python Packaging Authority sprints in November 2018,
I finished work to support the manylinux2010
platform tag in
auditwheel
. After extensive testing, this functionality was
released in version 2.0 in January of 2019.
But why?
auditwheel
is a very technically challenging tool to maintain. It requires
deep knowledge of dynamic linking, ELF binaries, and symbol versioning on the
Linux platform. While this is very exciting technical work, it's not the sort
of project that I can work on sustainably in my free time and off hours. I'm
currently the only active auditwheel
maintainer, and I don't feel like I can
give the project the attention it deserves on an ongoing basis, especially
given community interest in updating the manylinux
specification and supporting new platform
policies.
On the bright side, concluding my work with auditwheel
and manylinux will
allow me to dedicate more quality time to other FOSS projects I'm excited
about! In a personal capacity, I have just started a two year term as an
individual member of the Open Source Initiative Board of Directors, and
I will continue my work in Debian. In a professional capacity, I
recently started a new job at Red Hat and I intend to significantly increase my
upstream Kubernetes and OpenShift contributions over the next year.
I'm making this announcement now to avoid surprising anyone at PyCon, and I'd
love to spend my time at the conference working on a transition plan. I will be
giving an introductory talk about auditwheel
and the manylinux
toolchain if you're interested in learning more about the space and want to get
involved! At PyCon, I hope I will have the opportunity to provide some outgoing
input on the future of auditwheel
and manylinux, especially after the bumpy
rollout of manylinux2010
.
So long and thanks for all the fish 🐟