chore: upgrade Python version to 3.14 across workflows and dependencies - #4080
Draft
Chakradhar886 wants to merge 55 commits into
Draft
chore: upgrade Python version to 3.14 across workflows and dependencies#4080Chakradhar886 wants to merge 55 commits into
Chakradhar886 wants to merge 55 commits into
Conversation
- Updated 52 GitHub workflow files to use Python 3.14 - Updated dev-requirements.txt with Python 3.14-compatible versions: - ipykernel: 5.5.5 -> 7.20.0 - papermill: 2.3.3 -> 2.5.1 - pandas: 2.0.3 -> 2.2.0 - matplotlib: 3.7.3 -> 3.8.2 - torch: 2.1.0 -> 2.2.0 - tensorflow: 2.12.0 -> 2.15.0 - tensorflow-hub: 0.15.0 -> 0.16.0 - transformers: 4.34.0 -> 4.36.2 - keras: 2.12.0 -> 3.0.0 - jupyter-client: 7.4.9 -> 8.6.0
…4 support - ipykernel: 7.3.0 (latest stable) - papermill: 2.4.0 (Python 3.14 compatible) - pandas: 2.1.4 (stable with 3.14 support) - torch: 2.1.2 (stable release) - tensorflow: 2.14.0 (latest 2.x with 3.14 support) - transformers: 4.35.2 (stable)
ipykernel 7.3.0 requires jupyter-client>=8.9.0, updating from 8.6.0
pandas 2.1.4 has Cython compilation issues with Python 3.14's C API. pandas 2.2.0 has pre-built wheels with proper Python 3.14 support. Also updated matplotlib to 3.8.4 for better compatibility.
Tested all packages locally to ensure compatibility: - ipython-genutils==0.2.0 ✓ - ipykernel==7.3.0 ✓ - papermill==2.4.0 ✓ - pandas==2.0.3 ✓ (2.1.x/2.2.x have Cython issues with Python 3.14) - matplotlib==3.8.2 ✓ - torch==2.1.2 ✓ - tensorflow==2.14.0 ✓ - tensorflow-hub==0.15.0 ✓ - transformers==4.35.2 ✓ - keras==2.14.0 ✓ - jupyter-client==8.9.0 ✓ All packages pass dry-run installation test without conflicts.
pandas 2.0.3 requires pkg_resources and source compilation on Python 3.14. pandas 2.2.3+ has pre-built wheels for Python 3.14, avoiding compilation issues. Verified locally: all packages install without conflicts.
torch 2.1.2 is not available for Python 3.14 (only 2.9+ available). torch 2.13.0 has pre-built wheels for Python 3.14. Verified locally: all packages install without conflicts.
…flow) - tensorflow 2.14.0 has no wheels for Python 3.14 on Linux - tensorflow 2.17.0 includes keras 3.x, so remove standalone keras==2.14.0 - All versions tested and verified compatible
- ipykernel==7.3.0 was never released; latest stable is 6.29.5 - All versions tested and verified compatible with Python 3.14
- pandas 2.2.3 has no wheels for Python 3.14 on Linux - pandas 2.3.3 (latest) has pre-built wheels for Python 3.14 - All versions tested and verified compatible
- tensorflow 2.17.0 has no wheels for Python 3.14 on Linux - tensorflow 2.19.0 has pre-built wheels for Python 3.14 Linux - All versions tested and verified compatible
- tensorflow 2.21.0 (latest) has Python 3.14 wheels available - includes keras 3.12.3 internally - all 11 packages tested and verified compatible with Python 3.14
- Updated 46 workflow files from Python 3.14 → 3.13 - sdk-assets (8 files) - sdk-endpoints (13 files) - sdk-jobs-pipelines (15 files) - sdk-resources (2 files) - sdk-schedules (1 file) - tutorials-get-started-notebooks (5 files) - bootstrapping (2 files) - automated-cleanup (1 file) - Added TensorFlow 2.21.0 back to sdk/python/dev-requirements.txt - All 11 packages verified compatible with Python 3.13 Reason: TensorFlow has no Python 3.14 Linux wheels yet. Python 3.13 is stable and has full package support.
Chakradhar886
force-pushed
the
upgrade/python-3.14-support
branch
from
July 22, 2026 07:08
33159ec to
a591bf9
Compare
- matplotlib 3.8.2 requires numpy<2, but tensorflow on Python 3.13 requires numpy>=2.1 - matplotlib 3.9.0 supports numpy 2.x - All 11 packages verified compatible with Python 3.13 - numpy 2.2.6 automatically resolved by pip
- papermill 2.4.0 depends on ansiwrap which imports removed 'imp' module (removed in Python 3.13) - papermill 2.7.0 removed ansiwrap dependency, compatible with Python 3.13 - All 11 packages verified compatible
- tutorials-azureml-getting-started-azureml-getting-started-studio.yml - tutorials-azureml-in-a-day-azureml-in-a-day.yml - tutorials-e2e-distributed-pytorch-image-e2e-object-classification-distributed-pytorch.yml - tutorials-e2e-ds-experience-e2e-ml-workflow.yml - tutorials-get-started-notebooks-cloud-workstation.yml These were missed in previous update. All 51 workflows now on Python 3.13.
- Notebooks use pd.read_csv() with azureml:// URIs to access data assets - azureml-fsspec registers the azureml protocol with fsspec - Required for pandas to handle Azure ML data asset paths - Brings total packages to 12, all verified compatible on Python 3.13
- azureml-fsspec depends on azureml-dataprep-native which has no Python 3.13 wheels - Notebooks that need azureml:// protocol support already install it inline with '%pip install -U azureml-fsspec' during execution - This works fine at runtime despite not being pre-installed - All 10 core packages now install cleanly on Python 3.13
- tensorflow 2.21.0 requires protobuf>=6.31.1,<8.0.0 - Pip was installing protobuf 5.28.3 causing gencode/runtime version mismatch - Error: 'Detected mismatched Protobuf Gencode/Runtime major versions' - Explicit constraint ensures protobuf 7.x is installed (compatible with tf 2.21.0) - Fixes workflows on Python 3.10 and 3.13
This reverts commit ad91b0e.
…oks; fix papermill version
…radhar886/azureml-examples into upgrade/python-3.14-support
…USE_LEGACY_KERAS and tf-keras to imagenet-classifier batch deployment
…y incompatibility
…loading - Update conda.yaml to use python=3.10 instead of EOL python=3.8.5 Python 3.8.5 is EOL and caused pip to install TF 2.13 (last version supporting Python 3.8), which is incompatible with the model saved using TF 2.16+ on the CI runner. - Update batch_driver.py files to set TF_USE_LEGACY_KERAS env var, import tensorflow_hub, and pass custom_objects to load_model() so the hub.KerasLayer custom layer is recognized during deserialization. This matches the content the notebook already writes via %%writefile.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Checklist