diff --git a/.github/workflows/ci-additional.yaml b/.github/workflows/ci-additional.yaml index 86371e055e0..827fc330ea8 100644 --- a/.github/workflows/ci-additional.yaml +++ b/.github/workflows/ci-additional.yaml @@ -69,7 +69,7 @@ jobs: run: shell: bash -l {0} env: - PIXI_ENV: "test-py313" + PIXI_ENV: "test-py315" steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -114,7 +114,7 @@ jobs: run: shell: bash -l {0} env: - PIXI_ENV: test-py314-with-typing + PIXI_ENV: test-py315-with-typing steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 @@ -217,7 +217,7 @@ jobs: run: shell: bash -l {0} env: - PIXI_ENV: test-py314-with-typing + PIXI_ENV: test-py315-with-typing steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 @@ -257,7 +257,7 @@ jobs: strategy: fail-fast: false matrix: - pixi-env: ["test-py314-with-typing", "test-py312-with-typing"] + pixi-env: ["test-py315-with-typing", "test-py312-with-typing"] if: | always() && ( diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 677942ad8ee..c4e886fa2d8 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -74,7 +74,7 @@ jobs: matrix: os: ["ubuntu-latest", "macos-latest", "windows-latest"] # Bookend python versions - pixi-env: ["test-py312", "test-py314"] + pixi-env: ["test-py312", "test-py314", "test-py315"] pytest-addopts: [""] include: # Minimum python version: @@ -85,11 +85,11 @@ jobs: - pixi-env: "test-py312-min-versions" os: ubuntu-latest # Latest python version: - - pixi-env: "test-py314-no-numba" + - pixi-env: "test-py315-no-numba" os: ubuntu-latest - - pixi-env: "test-py314-no-dask" + - pixi-env: "test-py315-no-dask" os: ubuntu-latest - - pixi-env: "test-py314" + - pixi-env: "test-py315" pytest-addopts: "flaky" os: ubuntu-latest # The mypy tests must be executed using only 1 process in order to guarantee @@ -98,7 +98,7 @@ jobs: pytest-addopts: "mypy" numprocesses: 1 os: ubuntu-latest - - pixi-env: "test-py314-with-typing" + - pixi-env: "test-py315-with-typing" numprocesses: 1 os: ubuntu-latest diff --git a/pixi.toml b/pixi.toml index 7e8d4ad4b4a..96dcf1f14f5 100644 --- a/pixi.toml +++ b/pixi.toml @@ -187,7 +187,7 @@ generate-ops-ci = { cmd = 'test -z "$(git status --porcelain)" && echo "Success! ] } [feature.doc.dependencies] -python = "3.14.*" +python = "3.15.*" cartopy_offlinedata = "*" # Natural Earth data, avoids downloads (and timeouts) while executing notebooks kerchunk = "*" ipykernel = "*" @@ -414,6 +414,9 @@ dask-core = "<0.0a0" [feature.nightly.dependencies] python = "*" +[feature.py315.dependencies] +python = "3.15.*" + [environments] # Testing # test-just-xarray = { features = ["test"] } # https://github.com/pydata/xarray/pull/10888/files#r2511336147 @@ -427,8 +430,8 @@ test-py313 = { features = [ "viz", "extras", ] } -test-py314-no-numba = { features = [ - "py314", +test-py315-no-numba = { features = [ + "py315", "test", "backends", "accel", @@ -436,7 +439,7 @@ test-py314-no-numba = { features = [ "viz", "extras", ] } -test-py314-no-dask = { features = [ +test-py315-no-dask = { features = [ "py314", "nodask", "test", @@ -468,6 +471,17 @@ test-py312 = { features = [ "extras", ] } +test-py315 = { features = [ + "py315", + "test", + "backends", + "accel", + "numba", + "dask", + "viz", + "extras", +] } + test-py312-with-typing = { features = [ "py312", "test", @@ -481,8 +495,8 @@ test-py312-with-typing = { features = [ "typing-stubs", ] } -test-py314-with-typing = { features = [ - "py314", +test-py315-with-typing = { features = [ + "py315", "test", "backends", "accel", @@ -522,7 +536,7 @@ doc = { features = [ pre-commit = { features = ["pre-commit"], no-default-feature = true } release = { features = ["release"], no-default-feature = true } default = { features = [ - "py313", + "py315", "test", "backends", "accel", diff --git a/pyproject.toml b/pyproject.toml index 98f522bd26a..f3d6a461b9c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,6 +9,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", "Topic :: Scientific/Engineering", ] description = "N-D labeled arrays and datasets in Python"