Klipper3d / klipper

Klipper is a 3d-printer firmware
GNU General Public License v3.0
8.95k stars 5.16k forks source link

scripts: update greenlet to 3.0.3 #6525

Closed mkuf closed 3 months ago

mkuf commented 3 months ago

Installation of requirements fails starting at python 3.12.
This is due to greenlet requirement of 2.0.2, which is not compatible w/ python 3.12.

This PR updates greenlet to the latest release 3.0.3

mkuf commented 3 months ago

About the failed checks:

It does seem that greenlet 3.0.3 is not available for python2. Merging this would essentially make the python requirements incompatible with python2.

If you want to go forward with this, I can try to provide a patch to remove the python2 checks from the review workflow and update the workflow to run with a more recent python3.12.
This could either be done in the course of this PR or in a separate PR.

Please provide feedback on how to proceed.

-Markus

KevinOConnor commented 3 months ago

I have noticed this conflict as well. Alas, I don't have any good suggestions on how to best proceed.

-Kevin

mkuf commented 3 months ago

I think I have found a less intrusive solution, which maintains compatibility with previous python versions < 3.12 as well as versions >= 3.12.

pip supports defining requirement specifiers, which allow to skip packages if certain conditions are not met.
This way, when installing requirements on python < 3.12, greenlet 2.0.2 is used and with python >= 3.12, greenlet 3.0.3 is installed.

This also fixed the issue with the failed check and requirements are still compatible with python2, so the decision if support for python2 should be dropped can be revisited at a later date.

-Markus

KevinOConnor commented 3 months ago

Ah, thanks. That seems like a good plan. I'll give a few days to see if others have comments, but otherwise look to commit.

-Kevin

turk-fx commented 3 months ago

About the failed checks:

It does seem that greenlet 3.0.3 is not available for python2. Merging this would essentially make the python requirements incompatible with python2.

If you want to go forward with this, I can try to provide a patch to remove the python2 checks from the review workflow and update the workflow to run with a more recent python3.12. This could either be done in the course of this PR or in a separate PR.

Please provide feedback on how to proceed.

-Markus

I can try whatever you want me try. Just let me know what to do.

turk-fx commented 3 months ago

Just a quick question. I am new to these type of stuff. So, I should wait till a new release or this plan is committed to a new package?

KevinOConnor commented 3 months ago

Thanks.

-Kevin