Skip to content

Conversation

@sanderegg
Copy link
Member

@sanderegg sanderegg commented Dec 19, 2025

What do these changes do?

replace pre-commit hooks such as black, pyupgrade, isort and pycln by ruff.

speed increase while pre-commiting, and removing weird jumps between black and ruff.
also added the format on save behavior since it is very fast.

Related issue/s

How to test

Dev-ops

@sanderegg sanderegg self-assigned this Dec 19, 2025
@codecov
Copy link

codecov bot commented Dec 19, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.32%. Comparing base (5aaa8f6) to head (998db0d).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #8716      +/-   ##
==========================================
+ Coverage   87.47%   89.32%   +1.84%     
==========================================
  Files        2018     1712     -306     
  Lines       79384    68498   -10886     
  Branches     1389      646     -743     
==========================================
- Hits        69444    61183    -8261     
+ Misses       9545     7146    -2399     
+ Partials      395      169     -226     
Flag Coverage Δ
integrationtests 63.90% <ø> (+<0.01%) ⬆️
unittests 87.95% <ø> (+1.65%) ⬆️
Components Coverage Δ
pkg_aws_library ∅ <ø> (∅)
pkg_celery_library ∅ <ø> (∅)
pkg_dask_task_models_library ∅ <ø> (∅)
pkg_models_library 92.89% <ø> (ø)
pkg_notifications_library 85.52% <ø> (ø)
pkg_postgres_database 88.08% <ø> (ø)
pkg_service_integration 72.86% <ø> (ø)
pkg_service_library ∅ <ø> (∅)
pkg_settings_library ∅ <ø> (∅)
pkg_simcore_sdk 84.51% <ø> (-0.14%) ⬇️
agent 93.44% <ø> (ø)
api_server 91.35% <ø> (ø)
autoscaling 95.56% <ø> (ø)
catalog 92.06% <ø> (ø)
clusters_keeper 99.14% <ø> (ø)
dask_sidecar 91.72% <ø> (ø)
datcore_adapter 97.95% <ø> (ø)
director 75.45% <ø> (-0.09%) ⬇️
director_v2 91.20% <ø> (+0.04%) ⬆️
dynamic_scheduler 96.54% <ø> (ø)
dynamic_sidecar 90.75% <ø> (ø)
efs_guardian 89.83% <ø> (ø)
invitations 90.90% <ø> (ø)
payments 92.45% <ø> (ø)
resource_usage_tracker 91.15% <ø> (-0.06%) ⬇️
storage 86.70% <ø> (+0.23%) ⬆️
webclient ∅ <ø> (∅)
webserver 86.58% <ø> (+0.02%) ⬆️

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 5aaa8f6...998db0d. 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.

@mergify
Copy link
Contributor

mergify bot commented Dec 19, 2025

🧪 CI Insights

Here's what we observed from your CI run for 998db0d.

✅ Passed Jobs With Interesting Signals

Pipeline Job Signal Health on master Retries 🔍 CI Insights 📄 Logs
CI unit-tests You had a 33% chance of failing… lucky you! 🎲 Flaky Configure an automatic retry View View

@sanderegg sanderegg force-pushed the maintenance/tooling2 branch from d541fb2 to 49d36a5 Compare January 5, 2026 17:09
@sanderegg sanderegg requested a review from Copilot January 5, 2026 17:40
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR modernizes the Python tooling setup by migrating from Black to Ruff as the primary code formatter and linter. Ruff is a faster, all-in-one tool that combines the functionality of multiple tools (Black, isort, pyupgrade, pycln, flake8).

  • Replaces Black with Ruff for code formatting across the repository
  • Consolidates pre-commit hooks by removing redundant tools (pyupgrade, pycln, isort, Black)
  • Updates configuration files and documentation to reflect the tooling change

Reviewed changes

Copilot reviewed 16 out of 18 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.ruff.toml Expanded configuration with formatting rules, exclusions, and linting options that replace Black/isort settings
.pre-commit-config.yaml Added Ruff hooks and removed deprecated tooling (Black, isort, pyupgrade, pycln)
.isort.cfg Removed as isort functionality is now handled by Ruff
.flake8 Removed as flake8 functionality is now handled by Ruff
README.md Updated badge from Black to Ruff
CONTRIBUTING.md Updated documentation to reference Ruff instead of Black
docs/coding-conventions.md Updated coding guidelines to mention Ruff instead of Black
.github/instructions/python.instructions.md Updated instructions to use Ruff for formatting
.vscode/settings.template.json Configured Ruff as default Python formatter with format-on-save
.vscode/launch.template.json Removed redundant comments
.vscode/extensions.json Removed Black formatter extension, kept trailing comma
packages/models-library/Makefile Changed from black to ruff format command
packages/service-integration/Makefile Changed from black to ruff format command
scripts/openapi/openapi_python_server_codegen.sh Fixed shebang typo
services/web/server/docker/healthcheck.py Minor code improvements: added HTTP_OK constant and noqa comment
services/web/server/tests/data/server_docker_prod_app_config-unit.json Removed trailing comma from JSON

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@sanderegg sanderegg changed the title Maintenance/tooling2 🔨Upgrade pre-commit hooks and replace some with Ruff Jan 5, 2026
@sanderegg sanderegg marked this pull request as ready for review January 5, 2026 17:50
Copy link
Contributor

@GitHK GitHK left a comment

Choose a reason for hiding this comment

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

all right let's see how this behaves

@sanderegg sanderegg added t:maintenance Some planned maintenance work 🤖-automerge marks PR as ready to be merged for Mergify labels Jan 6, 2026
@sanderegg sanderegg added this to the Delirium Noel milestone Jan 6, 2026
@sanderegg
Copy link
Member Author

@mergify queue

@mergify
Copy link
Contributor

mergify bot commented Jan 6, 2026

queue

🟠 Waiting for conditions to match

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

@mergify
Copy link
Contributor

mergify bot commented Jan 6, 2026

Merge Queue Status

🟠 Waiting for queue conditions

Required conditions to enter a queue
  • -closed [📌 queue requirement]
  • any of [🔀 queue conditions]:
    • all of [📌 queue conditions of queue default]:
      • #approved-reviews-by >= 2 [🛡 GitHub branch protection]
      • #approved-reviews-by>=2
      • branch-protection-review-decision = APPROVED [🛡 GitHub branch protection]
      • #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
      • any of [🛡 GitHub branch protection]:
        • check-success = SonarCloud Code Analysis
        • check-neutral = SonarCloud Code Analysis
        • check-skipped = SonarCloud Code Analysis
  • -conflict [📌 queue requirement]
  • -draft [📌 queue requirement]
  • any of [📌 queue -> configuration change requirements]:
    • -mergify-configuration-changed
    • check-success = Configuration changed

@sanderegg sanderegg force-pushed the maintenance/tooling2 branch from 9070d64 to 998db0d Compare January 6, 2026 08:31
@sonarqubecloud
Copy link

sonarqubecloud bot commented Jan 6, 2026

@sanderegg sanderegg merged commit ca9ec89 into ITISFoundation:master Jan 6, 2026
94 checks passed
@sanderegg sanderegg deleted the maintenance/tooling2 branch January 6, 2026 09:29
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.

2 participants