Skip to content

Conversation

@zazulam
Copy link
Collaborator

@zazulam zazulam commented Oct 21, 2025

Description of your changes:
Modified all python image references to now point to python 3.11.

As discussed offline, we will keep 3.9 as the lowest working python installation for KFP and keep it the lower end of the python testing matrix since some users may be slow to upgrade their setups.

Updated the warning to say:
KFP will drop support for Python 3.9 on October 1, 2026. To use new versions of the KFP SDK after that date, you will need to upgrade to Python >= 3.10. See https://devguide.python.org/versions/ for more details.

Pushed it out a year, I'm open to updating the date to whatever others think would be best.

Checklist:

@droctothorpe
Copy link
Collaborator

Thanks for tackling this, @zazulam ! LGTM. Will approve once rebased and tests are passing! 👍

@nsingla
Copy link
Contributor

nsingla commented Oct 23, 2025

Should we have a couple of test pipeline IR with older python version until we completely migrate to 3.11?

@zazulam
Copy link
Collaborator Author

zazulam commented Oct 23, 2025

Should we have a couple of test pipeline IR with older python version until we completely migrate to 3.11?

@nsingla My thought is having the test matrix for the sdk_tests set for py3.9 & py3.13 should cover what we want for ensuring the sdk works for those versions and assuming the versions in between. As for the images that the components run on, I think it's safe to change to py3.11. There is 1 test where I commented out the image assert statement because it checks against a yaml from master.

@zazulam zazulam force-pushed the py-version-bump branch 2 times, most recently from 02eb71f to d151941 Compare October 23, 2025 19:05
Copy link
Collaborator Author

@zazulam zazulam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since updating the sdk to now have the base image set to py3.11, all compiled workflows needed to be regenerated, hence the magnitude of tiny changes.

I also had to regen some of the proto files for the backend proto_tests.

Comment on lines +48 to +56
# testing reinstalling kfp package from source with no deps
- name: Reinstall kfp from source with no deps
id: reinstall-kfp
shell: bash
if: ${{ steps.install-kfp-kubernetes.outcome == 'success' }}
working-directory: ./sdk/python
run: |
pip install . -I --no-deps
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this since the previous section was not actually using the source install for the kfp sdk, see here for the error prior to this add.

Comment on lines -122 to +125
self.assertEqual(
component.component_spec.implementation.container.image,
'python:3.9')
# TODO: uncomment once PR #12383 is merged since this is checking against a version on master
# self.assertEqual(
# component.component_spec.implementation.container.image,
# 'python:3.11')
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

commenting for reference for others

@droctothorpe
Copy link
Collaborator

/lgtm
/approve

@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: droctothorpe

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow bot merged commit 2ccd057 into kubeflow:master Oct 27, 2025
149 of 151 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants