libgit2 / pygit2

Python bindings for libgit2
https://www.pygit2.org/
Other
1.61k stars 385 forks source link

New Python versions always require a pygit2 upgrade #1046

Open SpaceManiac opened 3 years ago

SpaceManiac commented 3 years ago

I use pygit2 in a Python tool which is distributed to non-programmers on Windows. Every new Python release, I get support requests from people who installed the latest Python version (because they're installing Python for the first time) and the ever-so-slightly old version of pygit2 in the tool's requirements.txt. This has happened with 3.7, 3.8, and now 3.9.

Unfortunately the error messages for this situation are beyond useless, instructing users to install MSVC (a huge waste of time) and then to install libgit2 development headers (difficult to figure out how to do this).

Would it be feasible to either

Regarding the latter, if you think it's feasible, I may be able to contribute some of the actual work.

segevfiner commented 3 years ago

cffi might be capable of using the limited API/stable ABI. This means it might be possible to publish a wheel that works on multiple Python 3 versions including newly released ones. But it seems that pygit2 also has a manually written module that isn't using it.

encukou commented 3 years ago

Python 3.10 will be released soon-ish.

The ABI for Python 3.10 is frozen since the first release candidate was released. So it should be possible to build wheels for 3.10 – it is as safe to use 3.10.0rc1 wheels for 3.10.0 final as it is to use 3.9.1 wheels for 3.9.2.