Skip to content

SNOW-3488564: Remove Python 3.9#4218

Open
sfc-gh-joshi wants to merge 4 commits intomainfrom
joshi-SNOW-3488564-py39-decommission
Open

SNOW-3488564: Remove Python 3.9#4218
sfc-gh-joshi wants to merge 4 commits intomainfrom
joshi-SNOW-3488564-py39-decommission

Conversation

@sfc-gh-joshi
Copy link
Copy Markdown
Contributor

@sfc-gh-joshi sfc-gh-joshi commented May 7, 2026

  1. Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR.

    Fixes SNOW-3488564

  2. Fill out the following pre-review checklist:

    • I am adding a new automated test(s) to verify correctness of my new code
      • If this test skips Local Testing mode, I'm requesting review from @snowflakedb/local-testing
    • I am adding new logging messages
    • I am adding a new telemetry message
    • I am adding new credentials
    • I am adding a new dependency
    • If this is a new feature/behavior, I'm adding the Local Testing parity changes.
    • I acknowledge that I have ensured my changes to be thread-safe. Follow the link for more information: Thread-safe Developer Guidelines
    • If adding any arguments to public Snowpark APIs or creating new public Snowpark APIs, I acknowledge that I have ensured my changes include AST support. Follow the link for more information: AST Support Guidelines
  3. Please describe how your code solves the related issue.

Removes support for Python 3.9, adjusting import guards/test skips as needed. Tox environments and github actions jobs that previously used 3.9 have been bumped to 3.10 or removed.

@sfc-gh-joshi sfc-gh-joshi force-pushed the joshi-SNOW-3488564-py39-decommission branch from 7cae338 to f6a08a3 Compare May 7, 2026 21:50
@sfc-gh-joshi sfc-gh-joshi added NO-CHANGELOG-UPDATES This pull request does not need to update CHANGELOG.md NO-PANDAS-CHANGEDOC-UPDATES This PR does not update Snowpark pandas docs labels May 8, 2026
Copy link
Copy Markdown
Collaborator

@sfc-gh-mayliu sfc-gh-mayliu left a comment

Choose a reason for hiding this comment

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

Snowpark-python specific python3.9 decommission changes look good; a few other places might also need updates. Another place I found is ReleaseSnowparkPythonPackageJob.groovy default release params still include 3.9. Can we drop that here too so the release job matches the supported matrix?

Comment thread ci/test_fips.sh
Comment thread scripts/conda_build.sh
@@ -1,5 +1,4 @@
# Used internally by AnacondaPackageBuilder jobs
conda build recipe/ -c sfe1ed40 --python=3.9 --numpy=1.19
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

conda builds look right to drop 3.9. Do we need the matching Jenkins packaging update too? jenkins_utils' Snowpark BuildAnaconda.groovy still shells out with --python=3.9`, so shall we sync that as well?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

conda builds look right to drop 3.9. Do we need the matching Jenkins packaging update too? jenkins_utils' Snowpark BuildAnaconda.groovy still shells out with --python=3.9`, so shall we sync that as well?

That would make sense, but it looks like that file is also missing builds for 3.12, 3.13, and 3.14 entirely (which already exist in this repository's conda_build.sh). I'm not sure if that groovy file is still used anywhere.

@sfc-gh-mayliu
Copy link
Copy Markdown
Collaborator

It'd be great to trigger all relevant Jenkins jobs with this branch to monitor how Snowpark-python's 3.9 decommission impact downstream Jenkins builds. We could leverage this target: https://snowpark-python-001.jenkinsdev1.us-west-2.aws-dev.app.snowflake.com/job/SnowparkPythonReleaseValidationTrigger/

@sfc-gh-joshi
Copy link
Copy Markdown
Contributor Author

I just kicked off a release validation run: https://snowpark-python-001.jenkinsdev1.us-west-2.aws-dev.app.snowflake.com/job/SnowparkPythonReleaseValidationTrigger/83/

Snowpark-python specific python3.9 decommission changes look good; a few other places might also need updates. Another place I found is ReleaseSnowparkPythonPackageJob.groovy default release params still include 3.9. Can we drop that here too so the release job matches the supported matrix?

It looks like this job was last run almost a year ago, do we know who's using it? https://snowpark-python-001.jenkinsdev1.us-west-2.aws-dev.app.snowflake.com/job/ArtifactRepository/job/ReleaseSnowparkPythonPackageJob/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

NO-CHANGELOG-UPDATES This pull request does not need to update CHANGELOG.md NO-PANDAS-CHANGEDOC-UPDATES This PR does not update Snowpark pandas docs snowpark-pandas

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants