Skip to content

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
@codecov
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

@mergify
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

@sonarqubecloud
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
@matusdrobuliak66 matusdrobuliak66 mentioned this pull request Aug 5, 2025
88 tasks
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