Skip to content

⬆️ upgrades pydantic family repo-wide #8015

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

Merged

Conversation

pcrespov
Copy link
Member

@pcrespov pcrespov commented Jun 30, 2025

What do these changes do?

Updates pydantic family (provided pydantic-settings<2.7.1 is repo-wide constraint due to an open issue that we will follow up in a spearate PR)

# name versions-base versions-test versions-tool
245 pydantic 2.11.7 2.11.7
246 pydantic-core 2.33.2 2.33.2
247 pydantic-extra-types 2.10.5 2.10.5
248 pydantic-settings 2.7.0 2.7.0, 2.10.1

Latest version improves json-schemas in the openapi specs

  • HttpUrl produces now correct schema with "format"="uri" image
  • dict[str, Any] produces a schema with "additionalProperties": true image
    • @bisgaard-itis what are the implications for the api-server's compatibilty?
    • @wvangeit I see that many of the functions endpoints now includes this change! Please double check that it is correct!

Changes

# name before after upgrade count packages
1 aiohttp 3.12.13 3.12.14 1 tests🧪
2 certifi 2025.6.15 2025.7.9 minor 1 tests🧪
3 pydantic 2.11.5, 2.11.4, 2.10.5, 2.11.0, 2.10.3, 2.10.2, 2.10.6 2.11.7 48 agent⬆️🧪
api-server⬆️🧪
autoscaling⬆️🧪
aws-library🧪🧪
catalog⬆️
celery-library🧪
clusters-keeper⬆️🧪
common-library🧪🧪
dask-sidecar⬆️🧪
dask-task-models-library🧪
datcore-adapter⬆️
director-v2⬆️
director⬆️
docker-api-proxy🧪
dynamic-scheduler⬆️
dynamic-sidecar⬆️
e2e-playwright🧪🧪
environment-setup🧪
helpers🧪
invitations⬆️
models-library🧪
notifications-library🧪
notifications⬆️
payments⬆️
performance🧪
postgres-database🧪
public-api🧪
resource-usage-tracker⬆️🧪
service-integration🧪
service-library🧪🧪
settings-library🧪
simcore-sdk🧪🧪
storage⬆️🧪
swarm-deploy🧪
web⬆️🧪
4 pydantic-core 2.33.0, 2.27.2, 2.27.1 2.33.2 38 agent⬆️🧪
api-server⬆️🧪
aws-library🧪🧪
catalog⬆️
common-library🧪🧪
datcore-adapter⬆️
director⬆️
docker-api-proxy🧪
dynamic-scheduler⬆️
dynamic-sidecar⬆️
e2e-playwright🧪🧪
environment-setup🧪
helpers🧪
invitations⬆️
models-library🧪
notifications-library🧪
notifications⬆️
payments⬆️
postgres-database🧪
public-api🧪
resource-usage-tracker⬆️🧪
service-integration🧪
service-library🧪🧪
settings-library🧪
simcore-sdk🧪🧪
storage⬆️🧪
swarm-deploy🧪
web⬆️🧪
5 pydantic-extra-types 2.10.4, 2.9.0, 2.10.0, 2.10.3, 2.10.2 2.10.5 31 agent⬆️
api-server⬆️
autoscaling⬆️
aws-library🧪
catalog⬆️
celery-library🧪
clusters-keeper⬆️
common-library🧪
dask-sidecar⬆️
dask-task-models-library🧪
datcore-adapter⬆️
director-v2⬆️
director⬆️
docker-api-proxy🧪
dynamic-scheduler⬆️
dynamic-sidecar⬆️
invitations⬆️
models-library🧪
notifications-library🧪
notifications⬆️
payments⬆️
postgres-database🧪
public-api🧪
resource-usage-tracker⬆️
service-integration🧪
service-library🧪
settings-library🧪
simcore-sdk🧪
storage⬆️
swarm-deploy🧪
web⬆️
6 pydantic-settings 2.5.2, 2.6.1, 2.9.1 2.10.1,2.7.0 minor 7 api-server⬆️
datcore-adapter⬆️
director⬆️
payments⬆️
performance🧪
resource-usage-tracker⬆️
web⬆️

Legend:

  • ⬆️ base dependency (only services because packages are floating)
  • 🧪 test dependency
  • 🔧 tool dependency

@pcrespov pcrespov self-assigned this Jun 30, 2025
Copy link

codecov bot commented Jun 30, 2025

Codecov Report

Attention: Patch coverage is 84.21053% with 3 lines in your changes missing coverage. Please review.

Project coverage is 88.19%. Comparing base (2699607) to head (4bdafeb).
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #8015      +/-   ##
==========================================
- Coverage   88.20%   88.19%   -0.01%     
==========================================
  Files        1880     1880              
  Lines       72278    72284       +6     
  Branches     1272     1272              
==========================================
+ Hits        63750    63751       +1     
- Misses       8153     8159       +6     
+ Partials      375      374       -1     
Flag Coverage Δ
integrationtests 64.27% <100.00%> (-0.01%) ⬇️
unittests 86.80% <84.21%> (-0.03%) ⬇️
Components Coverage Δ
pkg_aws_library 93.93% <ø> (ø)
pkg_celery_library 87.34% <ø> (ø)
pkg_dask_task_models_library 79.62% <ø> (ø)
pkg_models_library 93.25% <50.00%> (+<0.01%) ⬆️
pkg_notifications_library 85.26% <ø> (ø)
pkg_postgres_database 88.22% <ø> (ø)
pkg_service_integration 70.17% <ø> (ø)
pkg_service_library 71.79% <ø> (+0.04%) ⬆️
pkg_settings_library 90.45% <90.90%> (+0.05%) ⬆️
pkg_simcore_sdk 85.16% <ø> (+0.11%) ⬆️
agent 93.81% <ø> (ø)
api_server 92.85% <ø> (ø)
autoscaling 95.88% <ø> (ø)
catalog 92.34% <ø> (ø)
clusters_keeper 99.13% <ø> (ø)
dask_sidecar 92.37% <ø> (ø)
datcore_adapter 97.94% <ø> (ø)
director 76.14% <ø> (ø)
director_v2 90.96% <ø> (+0.01%) ⬆️
dynamic_scheduler 96.27% <ø> (ø)
dynamic_sidecar 90.05% <ø> (ø)
efs_guardian 89.76% <ø> (ø)
invitations 91.44% <ø> (ø)
payments 92.60% <ø> (ø)
resource_usage_tracker 92.12% <ø> (-0.27%) ⬇️
storage 86.31% <ø> (-0.30%) ⬇️
webclient ∅ <ø> (∅)
webserver 88.52% <100.00%> (+<0.01%) ⬆️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2699607...4bdafeb. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

pcrespov added 6 commits June 30, 2025 15:16
pydantic.warnings.PydanticDeprecatedSince211: Accessing the 'model_fields' attribute on the instance is deprecated. Instead, you should access this attribute from the model class. Deprecated in Pydantic V2.11 to be removed in V3.0
populate_by_name usage is not recommended in v2.11+ and will be deprecated in v3. Instead, you should use the validate_by_name configuration setting.

https://docs.pydantic.dev/latest/api/config/#pydantic.config.ConfigDict.populate_by_name
@pcrespov pcrespov force-pushed the mai/pydantic-upgrade-repo-wide branch from c976001 to 00148b0 Compare June 30, 2025 13:41
@pcrespov pcrespov added this to the Engage milestone Jul 11, 2025
@pcrespov pcrespov added the t:maintenance Some planned maintenance work label Jul 11, 2025
@pcrespov pcrespov changed the title WIP: Mai/pydantic upgrade repo wide ⬆️ upgrades pydantic family repo-wide Jul 11, 2025
@pcrespov pcrespov marked this pull request as ready for review July 11, 2025 17:32
@pcrespov pcrespov enabled auto-merge (squash) July 11, 2025 17:32
Copy link
Contributor

@giancarloromeo giancarloromeo left a comment

Choose a reason for hiding this comment

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

Thanks

Copy link
Member

@sanderegg sanderegg left a comment

Choose a reason for hiding this comment

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

thanks

Copy link
Collaborator

@matusdrobuliak66 matusdrobuliak66 left a comment

Choose a reason for hiding this comment

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

Thanks!

Copy link
Contributor

@wvangeit wvangeit left a comment

Choose a reason for hiding this comment

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

As far as I understand the addAdditionalProperties looks ok to me.

@pcrespov pcrespov added the 🤖-automerge marks PR as ready to be merged for Mergify label Jul 15, 2025
@pcrespov
Copy link
Member Author

@mergify queue

Copy link
Contributor

mergify bot commented Jul 15, 2025

queue

🟠 Waiting for conditions to match

  • -closed [📌 queue requirement]
  • -conflict [📌 queue requirement]
  • -draft [📌 queue requirement]
  • any of: [📌 queue -> configuration change requirements]
    • -mergify-configuration-changed
    • check-success = Configuration changed
  • any of: [🔀 queue conditions]
    • all of: [📌 queue conditions of queue default]
      • #approved-reviews-by >= 2 [🛡 GitHub branch protection]
      • #approved-reviews-by>=2
      • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
      • #changes-requested-reviews-by=0
      • #review-threads-unresolved = 0 [🛡 GitHub branch protection]
      • #review-threads-unresolved=0
      • -conflict
      • -draft
      • base=master
      • branch-protection-review-decision = APPROVED [🛡 GitHub branch protection]
      • label!=🤖-do-not-merge
      • label=🤖-automerge
      • any of: [🛡 GitHub branch protection]
        • check-skipped = deploy to dockerhub
        • check-neutral = deploy to dockerhub
        • check-success = deploy to dockerhub
      • any of: [🛡 GitHub branch protection]
        • check-success = system-tests
        • check-neutral = system-tests
        • check-skipped = system-tests
      • any of: [🛡 GitHub branch protection]
        • check-success = unit-tests
        • check-neutral = unit-tests
        • check-skipped = unit-tests
      • any of: [🛡 GitHub branch protection]
        • check-success = check OAS' are up to date
        • check-neutral = check OAS' are up to date
        • check-skipped = check OAS' are up to date
      • any of: [🛡 GitHub branch protection]
        • check-success = integration-tests
        • check-neutral = integration-tests
        • check-skipped = integration-tests
      • any of: [🛡 GitHub branch protection]
        • check-success = build-test-images (frontend) / build-test-images
        • check-neutral = build-test-images (frontend) / build-test-images
        • check-skipped = build-test-images (frontend) / build-test-images

Copy link

@pcrespov pcrespov merged commit 94aab0b into ITISFoundation:master Jul 15, 2025
145 of 150 checks passed
@pcrespov pcrespov deleted the mai/pydantic-upgrade-repo-wide branch July 15, 2025 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🤖-automerge marks PR as ready to be merged for Mergify t:maintenance Some planned maintenance work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants