Python for Pants upgrade and syntax plan #20287
Replies: 6 comments 10 replies
-
So FWIW each step in the chain would involve a change to So my preference would be to jump forward to the latest version our tools (namely PyO3) supports. |
Beta Was this translation helpful? Give feedback.
-
Also, here was a branch with a working Pants using 3.11: https://github.com/pantsbuild/pants/tree/jcannon/py311 |
Beta Was this translation helpful? Give feedback.
-
I think we can jump straight to 3.11, which has been out for a while, and then wait one more release for 3.12? |
Beta Was this translation helpful? Give feedback.
-
Some earlier related discussion at pantsbuild/scie-pants#154, pantsbuild/scie-pants#94, and #18145. |
Beta Was this translation helpful? Give feedback.
-
After some noodling, a revised minimal proposal:
Longer term I think something along the lines of #18145 would allow this to be less of a production. It would be nice if Pants could provide Python point releases and PBS upgrades, which happen more frequently than CPython major releases. |
Beta Was this translation helpful? Give feedback.
-
I think one missing item of discussion - what is the impact on users with custom plugins? I'm so hazy on these conversations from like... a year ago, but I thought that custom plugins need to run on the same Python interpreter that Pants is being run by. Segmenting out (let's say 2.21 is the cutover) - does this sound right?
|
Beta Was this translation helpful? Give feedback.
-
Thanks to all of the scie-pants and release machinery work (huzzah!) we should at least be clear to upgrade the version of Python used by Pants itself. That's currently 3.9, how do we get to 3.12?
Slow and Steady
Upgrade release by release, leaving lots of time for things for things to shake out. Easy-ish to revert any single step. Spreads benefits and pain out over time. Smaller(?) steps for plugin authors to jump across.
Just Do It
Gets the project there sooner but if issues are not sussed out right away the revert might be a mess? Possibly too much drift for cherry-picking across branches. More risk but done sooner.
My personal inclination leans towards "Slow and Steady", eventually upgrading Python should be pretty boring and we can make it boring by practicing a bunch of boring steps.
Beta Was this translation helpful? Give feedback.
All reactions