diff --git a/.github/workflows/all-checks.yml b/.github/workflows/all-checks.yml index 694097a9e..d1c09d8a5 100644 --- a/.github/workflows/all-checks.yml +++ b/.github/workflows/all-checks.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ windows-latest, ubuntu-latest ] - python-version: [ "3.9", "3.10", "3.11", "3.12" ] + python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ] uses: ./.github/workflows/e2e-tests.yml with: os: ${{ matrix.os }} @@ -24,7 +24,7 @@ jobs: strategy: matrix: os: [ windows-latest, ubuntu-latest ] - python-version: [ "3.9", "3.10", "3.11", "3.12" ] + python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ] uses: ./.github/workflows/unit-tests.yml with: os: ${{ matrix.os }} @@ -34,7 +34,7 @@ jobs: strategy: matrix: os: [ ubuntu-latest ] - python-version: [ "3.9", "3.10", "3.11", "3.12" ] + python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ] uses: ./.github/workflows/lint.yml with: os: ${{ matrix.os }} diff --git a/.github/workflows/build-backend.yml b/.github/workflows/build-backend.yml index 970d574c4..327fadce2 100644 --- a/.github/workflows/build-backend.yml +++ b/.github/workflows/build-backend.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: os: [ windows-latest, ubuntu-latest ] - python-version: [ "3.9", "3.10", "3.11", "3.12" ] + python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ] uses: ./.github/workflows/e2e-tests.yml with: os: ${{ matrix.os }} @@ -27,7 +27,7 @@ jobs: strategy: matrix: os: [ windows-latest, ubuntu-latest ] - python-version: [ "3.9", "3.10", "3.11", "3.12" ] + python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ] uses: ./.github/workflows/unit-tests.yml with: os: ${{ matrix.os }} @@ -37,7 +37,7 @@ jobs: strategy: matrix: os: [ ubuntu-latest ] - python-version: [ "3.9", "3.10", "3.11", "3.12" ] + python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ] uses: ./.github/workflows/lint.yml with: os: ${{ matrix.os }} diff --git a/.github/workflows/docs-only-checks.yml b/.github/workflows/docs-only-checks.yml index 361df04c3..552074614 100644 --- a/.github/workflows/docs-only-checks.yml +++ b/.github/workflows/docs-only-checks.yml @@ -19,7 +19,7 @@ jobs: strategy: matrix: os: [ ubuntu-latest ] - python-version: ["3.9", "3.10", "3.11", "3.12" ] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13" ] uses: ./.github/workflows/lint.yml with: os: ${{ matrix.os }} diff --git a/RELEASE.md b/RELEASE.md index 48e1dba5e..24a279483 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -10,7 +10,7 @@ Please follow the established format: ## Major features and improvements -- Add support for Python 3.12 +- Add support for Python 3.12, 3.13 (#2190, #2191) - Update Kedro-Viz telemetry for opt-out model (#2022) - Introduce `behaviour` prop object with `reFocus` prop (#2161) diff --git a/demo-project/src/demo_project/requirements.in b/demo-project/src/demo_project/requirements.in index 3d6956618..7f7bf5d3b 100644 --- a/demo-project/src/demo_project/requirements.in +++ b/demo-project/src/demo_project/requirements.in @@ -10,7 +10,7 @@ pytest-mock>=1.7.1, <2.0 pytest~=6.2 scikit-learn~=1.0 wheel>=0.35, <0.37 -pillow~=9.0 +pillow>=9.0 matplotlib==3.5.0 pre-commit~=1.17 ruff==0.7.0 diff --git a/demo-project/src/docker_requirements.txt b/demo-project/src/docker_requirements.txt index 5f220c35c..0aa7eccbe 100644 --- a/demo-project/src/docker_requirements.txt +++ b/demo-project/src/docker_requirements.txt @@ -1,5 +1,5 @@ kedro>=0.18.0 kedro-datasets[pandas.CSVDataset,pandas.ExcelDataset, pandas.ParquetDataset, plotly.PlotlyDataset, matplotlib.MatplotlibWriter]>=2.1.0 scikit-learn~=1.0 -pillow~=9.0 +pillow>=9.0 seaborn>=0.13.0 diff --git a/package/features/steps/lower_requirements.txt b/package/features/steps/lower_requirements.txt index ff9bce834..cbdaa4aea 100644 --- a/package/features/steps/lower_requirements.txt +++ b/package/features/steps/lower_requirements.txt @@ -9,13 +9,18 @@ plotly==4.8 packaging==23.0 pandas==1.3; python_version < '3.10' pandas==1.5; python_version >= '3.10' and python_version < '3.12' -pandas==2.1.1; python_version >= '3.12' +pandas==2.1.1; python_version >= '3.12' and python_version < '3.13' +pandas==2.2.3; python_version >= '3.13' sqlalchemy==1.4 -strawberry-graphql==0.192.0 -networkx==2.5 -orjson==3.9 +strawberry-graphql==0.192.0; python_version < '3.13' +strawberry-graphql==0.240.1; python_version >= '3.13' +networkx==2.5; python_version < '3.13' +networkx==2.7; python_version >= '3.13' +orjson==3.9; python_version < '3.13' +orjson==3.10.10; python_version >= '3.13' secure==0.3.0 # numpy 2.0 breaks with old versions of pandas and this # could be removed when the lowest version supported is updated -numpy==1.26.4 +numpy==1.26.4; python_version < '3.13' +numpy==2.1.0; python_version >= '3.13' pathspec==0.12.1 diff --git a/package/kedro_viz/__init__.py b/package/kedro_viz/__init__.py index d19e2fb8e..8774c01d3 100644 --- a/package/kedro_viz/__init__.py +++ b/package/kedro_viz/__init__.py @@ -10,7 +10,7 @@ class KedroVizPythonVersionWarning(UserWarning): """Custom class for warnings about incompatibilities with Python versions.""" -if sys.version_info >= (3, 13): +if sys.version_info >= (3, 14): warnings.warn( """Please be advised that Kedro Viz is not yet fully compatible with the Python version you are currently using.""", diff --git a/package/tests/test_import.py b/package/tests/test_import.py index 2198ccdcc..8b646a0b8 100644 --- a/package/tests/test_import.py +++ b/package/tests/test_import.py @@ -4,8 +4,8 @@ def test_import_kedro_viz_with_no_official_support_emits_warning(mocker): - """Test importing kedro Viz with python>=3.13 and controlled warnings should work""" - mocker.patch("kedro_viz.sys.version_info", (3, 13)) + """Test importing kedro Viz with python>=3.14 and controlled warnings should work""" + mocker.patch("kedro_viz.sys.version_info", (3, 14)) # We use the parent class to avoid issues with `exec_module` with pytest.warns(UserWarning) as record: