Skip to content

SNOW-3074563: Add Support for 3.14#4077

Draft
sfc-gh-bkogan wants to merge 21 commits intomainfrom
bkogan-python-3.14
Draft

SNOW-3074563: Add Support for 3.14#4077
sfc-gh-bkogan wants to merge 21 commits intomainfrom
bkogan-python-3.14

Conversation

@sfc-gh-bkogan
Copy link
Copy Markdown
Collaborator

@sfc-gh-bkogan sfc-gh-bkogan commented Feb 13, 2026

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

    Fixes SNOW-3074563

  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.

    Add support for 3.14 runtime.

    • copy.copy(super()) no longer works, changed to new.__dict__.update(self.__dict__) approach
    • SnowflakePlan has a uuid property that now interferes with the uuid type annotation (since in 3.14 it seems type annotations are now evaluated lazily). Fixed by aliasing the UUID library to uuid_lib.
    • typing.Union[x,y] now is represented as x | y in strings, so updated code and tests to check for either.
    • Pickle default protocol bumped to version 5, so some hardcoded hex strings in tests need to change.

    We will NOT update the changelog since it will be released as part of a BCR. We will update the changelog after that is released.

@github-actions github-actions bot added the local testing Local Testing issues/PRs label Feb 13, 2026
Comment on lines +135 to +146
# run py 3.14 tests on aws/ubuntu
- python-version: "3.14"
cloud-provider: aws
os: ubuntu-latest-64-cores
# run py 3.14 doctests on azure/macos
- python-version: "3.14"
cloud-provider: azure
os: macos-latest
# # run py 3.14 tests on gcp on windows
- python-version: "3.14"
cloud-provider: gcp
os: windows-latest-64-cores
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

We should keep a subset of these? And/or remove an older version?

@sfc-gh-bkogan sfc-gh-bkogan added the NO-CHANGELOG-UPDATES This pull request does not need to update CHANGELOG.md label Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

local testing Local Testing issues/PRs NO-CHANGELOG-UPDATES This pull request does not need to update CHANGELOG.md

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant