Skip to content

Migrate Python Project to Version 3.10 #7

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

gitar-bot-staging[bot]
Copy link

Migrate to Python 3.10 Support

Description

This PR adds Python 3.10 support to the entire simcore platform while maintaining backward compatibility with Python 3.9. The migration updates all services, packages, and infrastructure components to use Python 3.10.12 as the default runtime.

Motivation

  • Modernize runtime: Upgrade to Python 3.10 to leverage new language features like structural pattern matching and performance improvements
  • Future-proof codebase: Ensure the platform stays current with supported Python versions
  • Enhanced development experience: Enable developers to use Python 3.10 features across all components

Changes Made

🐍 Python Version Updates

  • Updated all Dockerfiles from Python 3.9.12 → 3.10.12
  • Modified setup.py files to support both Python 3.9 and 3.10 (>=3.9,<4.0)
  • Added Python 3.10 to package classifiers

🔧 Infrastructure Updates

  • Updated CI/CD workflows (.github/workflows/)
  • Modified documentation and README.md to reflect Python 3.9/3.10 support
  • Updated Python upgrade documentation

📦 Affected Components

  • Services (15): agent, api-server, autoscaling, catalog, dask-sidecar, datcore-adapter, director-v2, director, dynamic-sidecar, invitations, migration, osparc-gateway-server, storage, web
  • Packages (9): dask-task-models-library, models-library, postgres-database, pytest-simcore, service-integration, service-library, settings-library, simcore-sdk
  • Scripts & Tools: ERD, filestash, mypy, pydeps-docker

Impact

Backward Compatible: Maintains support for Python 3.9
🚀 Performance: Benefits from Python 3.10 performance improvements
🔥 New Features: Enables use of Python 3.10 features like structural pattern matching
🛠️ Consistent: All components updated uniformly across the platform

References


Files Changed: 50 files (94 insertions, 86 deletions)
Commit: Execute migration steps


Link to run
Requested by: [email protected]

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.

1 participant