Maintenance support (offer)
Hi @indygreg . I read your blog. Congrats on all of the life changes. Sounds exciting.
I'd like to offer to take over maintenance for python-zstandard and possibly also PyOxidizer projects.
Like you, I've had some life changes, but my changes have given me more time to support open source projects.
My involvement would be modest - I don't have aspirations to make any major changes to the projects. Instead, I'd be focused on occasionally reviewing PRs and issues, guiding users to explore solutions, and cutting releases as needed to keep the projects from growing stale. I'd leverage the same methodology I use to maintain the hundreds of other projects I maintain in the Python ecosystem. I might step in to make important maintenance changes, but more than likely I'd direct the community to contribute most changes. I'd be careful to maintain the stability and quality that users have come to expect, directing contributors to provide well-engineered solutions with test coverage and to be responsive to unexpected regressions. And I of course would be happy to keep you on as a co-maintainer and be prepared to hand the project back should you wish to re-engage with any of them.
Let me know if that sounds at all interesting and if you have any specific stipulations you'd like to include.
Otherwise, feel free to give me ownership access of the PyPI projects and (optional but preferable) transfer the GitHub repos to the coherent-oss org, which I've formed to share maintenance on projects.
Hi @jaraco!
Thanks a lot for the offer - I hope that @indygreg will get back to you soon with a positive response. I am also relying on PyOxidizer in some of my projects for packaging so it would be great if the project could be kept up-to-date at least with support for newer Python versions.
I have a couple of commits lying around on my computer that attempts to bring the project up-to-date with newer versions of its dependencies. I am willing to offer these patches to the community when the project is revived.
Quick update: I have forked PyOxidizer and started working on bringing things up-to-date. I have migrated almost all of the dependencies to their latest versions (including PyO3) and all CI tests pass, with the exception of the cross-compiled musl libc version.
I will probably attempt to add support for newer versions of Python as the next step.
@ntamas Great! I noticed your fork still links to the pages of @indygreg . Are you planning on making releases , etc. - maybe under a different name?
@johanneswilm I don't know yet; the maintenance burden seems to be larger than what I can take up on my own and I lack expertise in certain areas:
- I could not manage to get the cross-compiled
muslbuild right for a long time - now PyO3 yanked versions 0.22.0 to 0.22.3, which would not be a problem, but they also removed
pyffi::_Py_PackageContextfrom the list of exported symbols in 0.22.4, wihch broke the builds for Windows. I would need to investigate what PyOxidizer is doing with_Py_PackageContextduring the initialization process on Windows and whether it's really needed, but I have not been using Windows myself for a long while now so it's also going to take some time to investigate
All in all, I don't think I'll start making releases under a different name on my own unless I can get these sorted out and commit myself to dedicating more time to PyOxidizer -- otherwise it would be just another dead fork that does not really bring any benefit to the community.
Having recently seen the blog after reading https://github.com/PyO3/pyo3/issues/416#issuecomment-2557013743, I wonder, would it be useful to folks if PyOxidizer was housed under the PyO3 GitHub organization? IMO it's an important part of the Rust/Python ecosystem so it seems thematically appropriate and I'd be happy to help look after the project.
That said, my time is generally saturated with work on PyO3 and other life responsibilities, so my involvement would be similar to @jaraco's own proposal in the OP. Perhaps @ntamas @johanneswilm you would be interested in active maintenance of PyOxidizer if it was homed under the PyO3 org, I may be able to bring some missing expertise?
We also have a PyO3 discord server which could become a home for any PyOxidizer chat threads.
In the OP @jaraco also talks about python-zstandard; I don't see any benefit the PyO3 org can offer there so coherent-oss seems like a fanstastic home for the project (although obviously that is for @indygreg to decide, not me).
Hi @davidhewitt and thanks for the offer! Indeed the lack of expertise is one of the factors that's stopping me from active maintenance (the other one being lack of free time). For instance a new PyOxidizer 0.25 release with a somewhat upgraded set of Python distributions and a newer PyO3 dependency is basically ready in my fork (in the https://github.com/ntamas/PyOxidizer/tree/update-python-distributions branch) apart from a build issue with musl libc that I was not able to resolve properly for a long time and wasted quite a few hours on it until I realized that the problem is a version mismatch between musl libc being shipped with Rust and the one being used to compile python-build-standalone (see https://github.com/ntamas/PyOxidizer/commit/4ee34c7ca68ed7b59f1c7fff4268959bac580fbe).
There are also other blockers that prevent the inclusion of Python 3.13 or prevent depending on newer versions of python-build-standalone builds, but I believe that even in the present state of my branch it's better than what we have in PyOxidizer 0.24 and in my organization we already started relying on my fork to push things forward (we want to get rid of having to depend on Python 3.10 for all our code so we can package it with PyOxidizer).
So, I believe that if no one else steps up with more time to dedicate to the maintenance of PyOxidizer than what I have, then this could be a solution.
Thank you, everyone, for the kind offers of support.
@davidhewitt's offer to host this project under the PyO3 organization is attractive to me because it is an established organization with several active projects and maintainers. Its projects also live at the intersection of Python and Rust. This seems strictly better than having the project live under an individual account.
If the people who are willing to put in the work on PyOxidizer are willing to do so under PyO3/PyOxidizer, then let's make it happen!
@indygreg How do you feel about handing over the keys to python-zstandard? Just ownership in PyPI would be enough, or you could also optionally transfer the repo to the coherent-oss org for better continuity.
Let's limit this conversation to PyOxidizer. Open an issue against the python-zstandard project to discuss its future.
Sure thing @indygreg . Perhaps let's follow up via either email or the PyO3 discord to figure out the logistics of the transfer and what permissions need to be reassigned to who.
(I have a couple busy days ahead, kids' half term holidays and RustNation UK, so likely my end this will not happen before the weekend or next week.)
I'm super excited to see the plans to move PyOxidizer under the PyO3 umbrella for continued maintenance! This is good for us end users.
@indygreg @davidhewitt Are there any updates on the adoption of PyOxidizer by PyO3?
I can't wait to see it working. I really need that.
Relevant news:
https://gregoryszorc.com/blog/2024/12/03/transferring-python-build-standalone-stewardship-to-astral/
https://astral.sh/blog/python-build-standalone