From cc753d2f8e1935d90cf0a3ad244e8033dcf866cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20H=C3=B8xbro=20Hansen?= Date: Tue, 28 Jan 2025 16:55:43 +0100 Subject: [PATCH] enh!: Drop Python 3.9 (#1399) --- .github/workflows/test.yaml | 4 ++-- README.md | 2 +- pixi.toml | 17 ++++++----------- pyproject.toml | 2 +- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index b5c940531..eebd12fec 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -80,7 +80,7 @@ jobs: run: | MATRIX=$(jq -nsc '{ "os": ["ubuntu-latest", "macos-latest", "windows-latest"], - "environment": ["test-39", "test-312"] + "environment": ["test-310", "test-312"] }') echo "MATRIX=$MATRIX" >> $GITHUB_ENV - name: Set test matrix with 'full' option @@ -88,7 +88,7 @@ jobs: run: | MATRIX=$(jq -nsc '{ "os": ["ubuntu-latest", "macos-latest", "windows-latest"], - "environment": ["test-39", "test-310", "test-311", "test-312"] + "environment": ["test-310", "test-311", "test-312"] }') echo "MATRIX=$MATRIX" >> $GITHUB_ENV - name: Set test matrix with 'downstream' option diff --git a/README.md b/README.md index 3353b117c..9ed274bb2 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ to work with much larger datasets than it would otherwise. ## Installation -Datashader supports Python 3.9, 3.10, 3.11, 3.12, and 3.13 on Linux, Windows, or +Datashader supports Python 3.10, 3.11, 3.12, and 3.13 on Linux, Windows, or Mac and can be installed with conda: conda install datashader diff --git a/pixi.toml b/pixi.toml index d96cd36ea..feee1ca4e 100644 --- a/pixi.toml +++ b/pixi.toml @@ -11,7 +11,6 @@ install = "python -m pip install --no-deps --disable-pip-version-check -e ." PYTHONIOENCODING = "utf-8" [environments] -test-39 = ["py39", "test-core", "test", "example", "test-example", "test-unit-task"] test-310 = ["py310", "test-core", "test", "example", "test-example", "test-unit-task"] test-311 = ["py311", "test-core", "test", "example", "test-example", "test-unit-task"] test-312 = ["py312", "test-core", "test", "example", "test-example", "test-unit-task"] @@ -23,7 +22,7 @@ lint = ["py311", "lint"] [dependencies] python = "<3.13" -numba = "*" # At top as this dictates Python version +numba = "*" colorcet = "*" multipledispatch = "*" numpy = "*" @@ -37,26 +36,21 @@ setuptools = "*" # distutils for pyct toolz = "*" xarray = "*" -[feature.py39.dependencies] -python = "3.9.*" - [feature.py310.dependencies] python = "3.10.*" -bokeh_sampledata = "*" [feature.py311.dependencies] python = "3.11.*" -bokeh_sampledata = "*" [feature.py312.dependencies] python = "3.12.*" -bokeh_sampledata = "*" [feature.py312.activation.env] COVERAGE_CORE = "sysmon" [feature.example.dependencies] bokeh = ">3.1" +bokeh_sampledata = "*" dask-core = "*" dask-geopandas = "*" fastparquet = "*" @@ -68,11 +62,11 @@ matplotlib-base = ">=3.3" networkx = "*" panel = ">1.1" pillow = "*" -pyogrio = "*" +pyogrio = "*" pyproj = "*" python-graphviz = "*" python-snappy = "*" -rasterio = "!=1.4.0" # 2024-11: Errors and will not solve to latest on Linux + Python 3.9 +rasterio = "*" scikit-image = "*" shapely = ">=2.0.0" spatialpandas = "*" @@ -95,6 +89,7 @@ test-unit-nojit = { cmd = 'pytest datashader -k "not test_tiles" -n logical --di test-benchmark = 'pytest datashader/tests --benchmark' [feature.test.dependencies] +bokeh_sampledata = "*" dask-core = "*" dask-expr = "<2" dask-geopandas = "*" @@ -104,7 +99,7 @@ netcdf4 = "*" pyarrow = "*" pillow = "*" pyogrio = "*" -rasterio = "!=1.4.0" # 2024-11: Errors and will not solve to latest on Linux + Python 3.9 +rasterio = "*" rioxarray = "*" scikit-image = "*" shapely = ">=2.0.0" diff --git a/pyproject.toml b/pyproject.toml index a77ede1d3..65375f29d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,6 @@ classifiers = [ "License :: OSI Approved :: BSD License", "Development Status :: 5 - Production/Stable", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", @@ -86,6 +85,7 @@ select = [ "W", ] ignore = [ + "UP038", # isinstance and issubclass uses a |-separated union # The following should be enabled in the future "UP030", # format-literals "UP031", # printf-string-formatting