From 67515ecf7670560d465432548b583b98d66d0de8 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Sat, 12 Oct 2024 17:03:25 +0100 Subject: [PATCH] Add Python 3.13, drop Python 3.10 --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- .github/workflows/python-package.yml | 2 +- docs/release.rst | 4 ++- pyproject.toml | 41 +++++++++------------------ 4 files changed, 18 insertions(+), 31 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 7b0c4dcfc4..a806c74ad9 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -27,7 +27,7 @@ body: attributes: label: Python Version description: Version of Python interpreter - placeholder: 3.10, 3.11, 3.12 etc. + placeholder: 3.11, 3.12, 3.13 etc. validations: required: true - type: input diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index b1be7e425d..7e604d11bd 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.10', '3.11', '3.12'] + python-version: ['3.11', '3.12', '3.13'] numpy_version: ['>=2.1', '==1.24.*'] exclude: - python-version: '3.12' diff --git a/docs/release.rst b/docs/release.rst index a62d6a653c..2a75011cc3 100644 --- a/docs/release.rst +++ b/docs/release.rst @@ -25,9 +25,11 @@ Release notes Enhancements ~~~~~~~~~~~~ +* Added testing on Python 3.13. Maintenance ~~~~~~~~~~~ +* Dropped support for Python 3.10. Deprecations ~~~~~~~~~~~~ @@ -41,7 +43,7 @@ Enhancements ~~~~~~~~~~~~ * Added support for creating a copy of data when converting a `zarr.Array` to a numpy array. - By :user:`David Stansby ` (:issue:`2106`) and + By :user:`David Stansby ` (:issue:`2106`) and :user:`Joe Hamman ` (:issue:`2123`). Maintenance diff --git a/pyproject.toml b/pyproject.toml index ec06b63a96..c5ff73a102 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,19 +7,15 @@ build-backend = "setuptools.build_meta" name = "zarr" description = "An implementation of chunked, compressed, N-dimensional arrays for Python" readme = { file = "README.md", content-type = "text/markdown" } -maintainers = [ - { name = "Alistair Miles", email = "alimanfoo@googlemail.com" } -] -requires-python = ">=3.10" +maintainers = [{ name = "Alistair Miles", email = "alimanfoo@googlemail.com" }] +requires-python = ">=3.11" dependencies = [ 'asciitree', 'numpy>=1.24', 'fasteners; sys_platform != "emscripten"', 'numcodecs>=0.10.0', ] -dynamic = [ - "version", -] +dynamic = ["version"] classifiers = [ 'Development Status :: 6 - Mature', 'Intended Audience :: Developers', @@ -30,18 +26,14 @@ classifiers = [ 'Topic :: Software Development :: Libraries :: Python Modules', 'Operating System :: Unix', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', ] license = { text = "MIT" } [project.optional-dependencies] -jupyter = [ - 'notebook', - 'ipytree>=0.2.2', - 'ipywidgets>=8.0.0', -] +jupyter = ['notebook', 'ipytree>=0.2.2', 'ipywidgets>=8.0.0'] docs = [ 'sphinx', 'sphinx-automodapi', @@ -64,14 +56,11 @@ Homepage = "https://github.com/zarr-developers/zarr-python" exclude_lines = [ "pragma: no cover", "pragma: ${PY_MAJOR_VERSION} no cover", - '.*\.\.\.' # Ignore "..." lines + '.*\.\.\.', # Ignore "..." lines ] [tool.coverage.run] -omit = [ - "zarr/meta_v1.py", - "bench/compress_normal.py", -] +omit = ["zarr/meta_v1.py", "bench/compress_normal.py"] [tool.setuptools] packages = ["zarr", "zarr._storage", "zarr.tests"] @@ -100,14 +89,12 @@ exclude = [ "build", "dist", "venv", - "docs" + "docs", ] [tool.ruff.lint] -extend-select = [ - "B" -] -ignore = ["B905"] # zip-without-explicit-strict +extend-select = ["B"] +ignore = ["B905"] # zip-without-explicit-strict [tool.black] line-length = 100 @@ -136,9 +123,7 @@ doctest_optionflags = [ "ELLIPSIS", "IGNORE_EXCEPTION_DETAIL", ] -addopts = [ - "--durations=10", -] +addopts = ["--durations=10"] filterwarnings = [ "error:::zarr.*", "ignore:PY_SSIZE_T_CLEAN will be required.*:DeprecationWarning", @@ -146,9 +131,9 @@ filterwarnings = [ "ignore:The .* is deprecated and will be removed in a Zarr-Python version 3*:FutureWarning", "ignore:The experimental Zarr V3 implementation in this version .*:FutureWarning", ] -doctest_subpackage_requires =[ +doctest_subpackage_requires = [ "zarr/core.py = numpy>=2", - "zarr/creation.py = numpy>=2" + "zarr/creation.py = numpy>=2", ]