-
Notifications
You must be signed in to change notification settings - Fork 14.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: python version to 3.11 (while supporting 3.10) #31503
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've completed my review and didn't find any issues... but I did find this bear.
/ \.-"""-./ \
\ - - /
| o o |
\ .-'''-. /
'-\__Y__/-'
`---`
Need a new review? Comment
/korbit-review
on this PR and I'll review your latest changes.Korbit Guide: Usage and Customization
Interacting with Korbit
- You can manually ask Korbit to review your PR using the
/korbit-review
command in a comment at the root of your PR.- You can ask Korbit to generate a new PR description using the
/korbit-generate-pr-description
command in any comment on your PR.- Too many Korbit comments? I can resolve all my comment threads if you use the
/korbit-resolve
command in any comment on your PR.- Chat with Korbit on issues we post by tagging @korbit-ai in your reply.
- Help train Korbit to improve your reviews by giving a 👍 or 👎 on the comments Korbit posts.
Customizing Korbit
- Check out our docs on how you can make Korbit work best for you and your team.
- Customize Korbit for your organization through the Korbit Console.
Current Korbit Configuration
General Settings
Setting Value Review Schedule Automatic excluding drafts Max Issue Count 10 Automatic PR Descriptions ❌ Issue Categories
Category Enabled Naming ✅ Database Operations ✅ Documentation ✅ Logging ✅ Error Handling ✅ Systems and Environment ✅ Objects and Data Structures ✅ Readability and Maintainability ✅ Asynchronous Processing ✅ Design Patterns ✅ Third-Party Libraries ✅ Performance ✅ Security ✅ Functionality ✅ Feedback and Support
7919f49
to
a180a01
Compare
Should we first merge #31313 before proceeding with this? Also, should we not wait until 3.12 is supported before moving the window of supported versions forward? |
@mistercrunch There's a 5.0 proposal to drop support for 3.9. We should wait for the breaking window unless you remove the 3.9 deprecation of this PR's scope. |
@michael-s-molina yup I'm taking this on as part of the 5.0 effort.
@villebro yes, that will help sorting things out. I'll push on that one to go first (pre 5.0)
I don't think that's required, my take is we should support |
a180a01
to
42a7030
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One main comment about the versions perhaps being inverted on current vs next. My main gripe with this PR is the fact that we're essentially running two 3.11 CI checks, which seems wasteful. As 3.12 really isn't yet supported, I think we should consider just disabling the CI step for next for now until we are actually able to test against it.
echo "PYTHON_VERSION=3.10" >> $GITHUB_ENV | ||
echo "PYTHON_VERSION=3.11.11" >> $GITHUB_ENV | ||
elif [ "${{ inputs.python-version }}" = "next" ]; then | ||
# TODO: set to 3.12 when libs are ready - seemed hard on 12/17/24 | ||
echo "PYTHON_VERSION=3.11" >> $GITHUB_ENV |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aren't these reversed, i.e. current
should point to 3.11
and next
should point to 3.11.11
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought 3.11.11
would be the pinned current, and 3.11
will eventually point to future as 3.11.12
and future version come out. As of now I believe 3.11 == 3.11.11
pyproject.toml
Outdated
"Programming Language :: Python :: 3.10", | ||
"Programming Language :: Python :: 3.11", | ||
# "Programming Language :: Python :: 3.12", # not just yet ... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If 3.12 isn't supported yet, I'd just remove this for now.
# "Programming Language :: Python :: 3.12", # not just yet ... |
@villebro I wish it was easier to disable I guess we could decide that |
@mistercrunch I wonder if there's some way to downplay a CI check to yellow or something else to not make it look like a hard failure? I personally always get put off by failing checks, even if they're not required, and I suspect it will be even more confusing to a casual contributor who doesn't have context on this forthcoming work.. |
I googled it, and came across this: https://stackoverflow.com/questions/57687369/how-to-write-a-github-action-with-a-neutral-check-run-status. So I don't think it works.
|
As discussed in #31503 (comment), let's make the CI checks against the `next` version of python optional. This PR needs to get through as policies that live on `master` in `.asf.yml` are applied to ongoing PRs. After this is merged, I'll add the solution described in #31503, that should mark the related failing jobs as `neutral`, which should show as grey in the GitHub UI.
Here -> #31740 |
Mmmmh, yeah goes back to 2019 so my hopes aren't up on this one, I couldn't find a decent workaround.Maybe it's a good think to make optional as in #31740 though? |
Few options:
|
@mistercrunch what was missing for 3.12 support? Numpy wheels? Let's give it one more go, and if it just doesn't work out let's settle for one of the compromises listed above.. |
Ok, added a commit bringing in 3.12 in the mix, let's see what fails. |
e1193f5
to
5dfc5d6
Compare
Ok I pushed by bumping a bunch of libraries here, and ultimately got to a place where Certainly a good thing to unpin and push through, but might require some work or waiting for newer version of libs to move forward. |
The new pandas Seems the issue is with |
46362fe
to
d3654cb
Compare
Bumping python to 3.11 as the default version, supporting 3.10, and deprecating 3.9 support
Currently in this PR I'm setting
next
to3.11
andcurrent
to3.11.11
. This means when 3.11.12 shows up CI will run on two different versions within 3.11. Eventually we can makenext
point to 3.12 as lib support grows.about 3.12
Seems 3.12 is not easy at the moment, hit some issues that pointed to upgrading dependencies, but hit some conflicting diamond dependencies as I was doing so. #31313 would help sort this out at a faster pace, without the bugs and slowness of
pip-compile-multi
Closes #31516