Skip to content

Conversation

@johnewart
Copy link
Collaborator

@johnewart johnewart commented Dec 9, 2025

Do not merge this yet! 😆

(This PR is being opened to run all the tests)

Ticket ENG-36

Description Of Changes

Update to modern Python 🥳 🍰 🎉 🙌

Code Changes

Misc. fixes for compatibility

Steps to Confirm

Pre-Merge Checklist

  • Issue requirements met
  • All CI pipelines succeeded
  • CHANGELOG.md updated
    • Add a db-migration This indicates that a change includes a database migration label to the entry if your change includes a DB migration
    • Add a high-risk This issue suggests changes that have a high-probability of breaking existing code label to the entry if your change includes a high-risk change (i.e. potential for performance impact or unexpected regression) that should be flagged
    • Updates unreleased work already in Changelog, no new entry necessary
  • UX feedback:
    • All UX related changes have been reviewed by a designer
    • No UX review needed
  • Followup issues:
    • Followup issues created
    • No followup issues
  • Database migrations:
    • Ensure that your downrev is up to date with the latest revision on main
    • Ensure that your downgrade() migration is correct and works
      • If a downgrade migration is not possible for this change, please call this out in the PR description!
    • No migrations
  • Documentation:
    • Documentation complete, PR opened in fidesdocs
    • Documentation issue created in fidesdocs
    • If there are any new client scopes created as part of the pull request, remember to update public-facing documentation that references our scope registry
    • No documentation updates required

@johnewart johnewart requested a review from a team as a code owner December 9, 2025 21:51
@johnewart johnewart added the do not merge Please don't merge yet, bad things will happen if you do label Dec 9, 2025
@johnewart johnewart requested a review from a team as a code owner December 9, 2025 21:51
@vercel
Copy link

vercel bot commented Dec 9, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Review Updated (UTC)
fides-plus-nightly Ignored Ignored Preview Jan 8, 2026 8:22pm
fides-privacy-center Ignored Ignored Jan 8, 2026 8:22pm

greptile-apps[bot]

This comment was marked as outdated.

@ethyca ethyca deleted a comment from greptile-apps bot Dec 9, 2025
@@ -1,10 +1,11 @@
FROM python:3.10.16-slim-bookworm AS build
FROM python:3.12-slim-bookworm AS build
Copy link
Contributor

Choose a reason for hiding this comment

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

shouldn't this be using python 3.13?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It's for generating the docs but yes, it should probably just be the same 😄

Comment on lines 38 to 48
from enum import StrEnum

class ManualTaskExecutionTiming(StrEnum):
"""Enum for when a manual task should be executed in the privacy request DAG."""

pre_execution = "pre_execution" # Execute before the main DAG
post_execution = "post_execution" # Execute after the main DAG
parallel = "parallel" # Execute in parallel with the main DAG


class ManualTaskType(str, Enum):
from enum import StrEnum
Copy link
Contributor

Choose a reason for hiding this comment

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

the robot is right here

Comment on lines +560 to +562
If an identity field with the same field_name already exists for this privacy request,
it will be replaced with the new value to prevent duplicate records.
Copy link
Contributor

Choose a reason for hiding this comment

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

why is this change needed ? 🤔



class ConsentMechanism(str, Enum):
from enum import StrEnum
Copy link
Contributor

Choose a reason for hiding this comment

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

can we put the imports top-level ?

ConnectionNotFoundException,
KeyOrNameAlreadyExists,
SaaSConfigNotFoundException,
ValidationError,
Copy link
Contributor

Choose a reason for hiding this comment

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

is this import used?

Comment on lines 206 to 207
@pytest.mark.skip("Fails in 3.13 and can probably be removed anyway.")
def test_abstract_class_attributes(self):
Copy link
Contributor

Choose a reason for hiding this comment

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

tagging @JadeCara since I think she knows this code best

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah this one can be removed :)

Comment on lines +415 to +417
@pytest.mark.skip(
"This test just verifies that the S3 client can download large files"
)
Copy link
Contributor

Choose a reason for hiding this comment

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

why are we skipping it though?

noxfile.py Outdated

REQUIRED_DOCKER_VERSION = "20.10.17"
REQUIRED_PYTHON_VERSIONS = ["3.9", "3.10"]
REQUIRED_PYTHON_VERSIONS = ["3.9", "3.10", "3.12", "3.13"]
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we should just leave 3.13 here no? or at least definitely remove 3.9 and 3.10

Copy link
Contributor

@erosselli erosselli left a comment

Choose a reason for hiding this comment

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

🚢

@johnewart johnewart removed the do not merge Please don't merge yet, bad things will happen if you do label Jan 8, 2026
@johnewart johnewart enabled auto-merge January 8, 2026 20:56
@johnewart johnewart added this pull request to the merge queue Jan 8, 2026
Merged via the queue into main with commit 603f4e0 Jan 8, 2026
52 of 56 checks passed
@johnewart johnewart deleted the johnewart/python3.13 branch January 8, 2026 22:25
@cypress
Copy link

cypress bot commented Jan 8, 2026

fides    Run #13656

Run Properties:  status check failed Failed #13656  •  git commit 603f4e0ac5: Python 3.13 🚂 (#7096)
Project fides
Branch Review main
Run status status check failed Failed #13656
Run duration 01m 35s
Commit git commit 603f4e0ac5: Python 3.13 🚂 (#7096)
Committer John Ewart
View all properties for this run ↗︎

Test results
Tests that failed  Failures 1
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 0
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 4
View all changes introduced in this branch ↗︎

Tests for review

Failed  cypress/e2e/smoke_test.cy.ts • 1 failed test

View Output Video

Test Artifacts
Smoke test > can submit an access request from the Privacy Center Screenshots Video

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants