Skip to content

Conversation

@sanderegg
Copy link
Member

@sanderegg sanderegg commented May 28, 2025

What do these changes do?

Some services were installing just fastapi others fastapi[all] others fastapi[standard].
The recommended approach is to install fastapi[standard] which ensures uvicorn[standard] is also installed together with uvloop for best performance.
in particular:

  • agent
  • autoscaling
  • clusters-keeper
  • dynamic-sidecar
  • efs-guardian
  • notifications
    were missing uvloop.

image

Also this generalizes the installation of httpx[http2] instead of httpx bringing the option to have a client with http/2 protocol support.

In general I think our layered dependency system is ok, with some pros/cons:

  • every library installs everything (since it is done via --requirements) which bloats final docker images uselessly when for example installing some unused libraries.
  • We tend to add way too many libraries in the _base.in since they are already pre-installed by the dependencies

Highlights on updated libraries (only updated libraries are included)

  • #packages before ~ 10
  • #packages after ~ 27
# name before after upgrade count packages
1 arrow 1.2.3 1.3.0 minor 1 web⬆️
2 fastapi 0.115.11, 0.115.5, 0.115.8, 0.115.6, 0.115.0 0.115.12 17 agent⬆️
api-server⬆️🧪
aws-library🧪
catalog⬆️
datcore-adapter⬆️
director⬆️
docker-api-proxy🧪
dynamic-scheduler⬆️
dynamic-sidecar⬆️
efs-guardian⬆️
helpers🧪
invitations⬆️
payments⬆️
resource-usage-tracker⬆️
service-library🧪
storage⬆️
3 httptools 0.6.1 0.6.4 2 datcore-adapter⬆️
resource-usage-tracker⬆️
4 itsdangerous 2.2.0 🗑️ removed 5 api-server⬆️
catalog⬆️
director-v2⬆️
director⬆️
storage⬆️
5 jinja2 3.1.5, 3.1.4 3.1.6 7 api-server⬆️🧪🔧
director⬆️
efs-guardian🧪
payments⬆️
resource-usage-tracker🧪
6 python-multipart 0.0.17, 0.0.9 0.0.20 3 datcore-adapter⬆️
director⬆️
payments⬆️
7 starlette 0.38.6 0.46.2 minor 1 helpers🧪
8 ujson 5.10.0 🗑️ removed 5 api-server⬆️
catalog⬆️
director-v2⬆️
director⬆️
storage⬆️
9 uvicorn 0.34.0, 0.32.1, 0.32.0, 0.29.0 0.34.2 16 agent⬆️
api-server⬆️🧪
catalog⬆️
datcore-adapter⬆️
director⬆️
dynamic-scheduler⬆️
dynamic-sidecar⬆️
efs-guardian⬆️
invitations⬆️
notifications⬆️
payments⬆️
resource-usage-tracker⬆️
service-library🧪
storage⬆️
web🧪
10 uvloop 0.19.0 0.21.0 minor 2 datcore-adapter⬆️
resource-usage-tracker⬆️

Legend:

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

Related issue/s

How to test

Dev-ops

@codecov
Copy link

codecov bot commented May 28, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 86.59%. Comparing base (e53c704) to head (962ebd0).
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #7765      +/-   ##
==========================================
- Coverage   86.79%   86.59%   -0.21%     
==========================================
  Files        1841     1451     -390     
  Lines       71507    60703   -10804     
  Branches     1215      664     -551     
==========================================
- Hits        62067    52564    -9503     
+ Misses       9098     7931    -1167     
+ Partials      342      208     -134     
Flag Coverage Δ
integrationtests 64.35% <ø> (-0.03%) ⬇️
unittests 86.29% <ø> (-0.27%) ⬇️
Components Coverage Δ
api ∅ <ø> (∅)
pkg_aws_library 93.92% <ø> (ø)
pkg_dask_task_models_library ∅ <ø> (∅)
pkg_models_library ∅ <ø> (∅)
pkg_notifications_library ∅ <ø> (∅)
pkg_postgres_database ∅ <ø> (∅)
pkg_service_integration ∅ <ø> (∅)
pkg_service_library 71.92% <ø> (ø)
pkg_settings_library ∅ <ø> (∅)
pkg_simcore_sdk 85.18% <ø> (+0.11%) ⬆️
agent 96.29% <ø> (ø)
api_server 91.77% <ø> (ø)
autoscaling 96.03% <ø> (ø)
catalog 92.25% <ø> (ø)
clusters_keeper 99.13% <ø> (ø)
dask_sidecar 91.67% <ø> (ø)
datcore_adapter 97.94% <ø> (ø)
director 76.82% <ø> (+0.09%) ⬆️
director_v2 91.00% <ø> (+0.01%) ⬆️
dynamic_scheduler 96.69% <ø> (ø)
dynamic_sidecar 90.14% <ø> (ø)
efs_guardian 89.65% <ø> (ø)
invitations 93.00% <ø> (ø)
payments 92.57% <ø> (ø)
resource_usage_tracker 88.98% <ø> (-0.06%) ⬇️
storage 87.46% <ø> (-0.25%) ⬇️
webclient ∅ <ø> (∅)
webserver 83.95% <ø> (+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 e53c704...962ebd0. 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.

@sanderegg sanderegg requested a review from bisgaard-itis May 28, 2025 06:52
@sanderegg sanderegg added the t:maintenance Some planned maintenance work label May 28, 2025
@sanderegg sanderegg added this to the Bazinga! milestone May 28, 2025
@sanderegg sanderegg added the 🤖-automerge marks PR as ready to be merged for Mergify label May 28, 2025
@sanderegg
Copy link
Member Author

@mergify queue

@mergify
Copy link
Contributor

mergify bot commented May 28, 2025

queue

🟠 Waiting for conditions to match

  • -closed [📌 queue requirement]
  • any of: [🔀 queue conditions]
    • all of: [📌 queue conditions of queue default]
      • branch-protection-review-decision = APPROVED [🛡 GitHub branch protection]
      • #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
      • 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
  • -conflict [📌 queue requirement]
  • -draft [📌 queue requirement]
  • any of: [📌 queue -> configuration change requirements]
    • -mergify-configuration-changed
    • check-success = Configuration changed

Copy link
Member

@pcrespov pcrespov left a comment

Choose a reason for hiding this comment

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

greatly appreciated

@sanderegg sanderegg force-pushed the maintenance/uniformize-uvicorn-installation branch from 3d109b6 to 962ebd0 Compare May 28, 2025 08:00
@sonarqubecloud
Copy link

@sanderegg sanderegg merged commit 125e103 into ITISFoundation:master May 28, 2025
95 checks passed
@sanderegg sanderegg deleted the maintenance/uniformize-uvicorn-installation branch May 28, 2025 08:37
@matusdrobuliak66 matusdrobuliak66 mentioned this pull request Jun 6, 2025
92 tasks
@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.

3 participants