diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index 16f87c22822..71df1f62262 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -54,7 +54,7 @@ jobs: cache-environment-key: micromamba-environment-${{ steps.date.outputs.date }} create-args: >- gmt=6.7.0 - python=3.14 + python=3.15 numpy pandas xarray diff --git a/.github/workflows/cache_data.yaml b/.github/workflows/cache_data.yaml index b564e1b87e7..b6b2c73b67a 100644 --- a/.github/workflows/cache_data.yaml +++ b/.github/workflows/cache_data.yaml @@ -52,7 +52,7 @@ jobs: with: environment-name: pygmt create-args: >- - python=3.14 + python=3.15 gmt=6.7.0 numpy pandas diff --git a/.github/workflows/ci_docs.yml b/.github/workflows/ci_docs.yml index acad1ec0079..691cb2866fb 100644 --- a/.github/workflows/ci_docs.yml +++ b/.github/workflows/ci_docs.yml @@ -92,7 +92,7 @@ jobs: # environment cache is persistent for one week. cache-environment-key: micromamba-environment-${{ steps.date.outputs.date }} create-args: >- - python=3.14 + python=3.15 gmt=6.7.0 ghostscript=10.08.0 numpy diff --git a/.github/workflows/ci_doctests.yaml b/.github/workflows/ci_doctests.yaml index f384ea0d341..538d884930e 100644 --- a/.github/workflows/ci_doctests.yaml +++ b/.github/workflows/ci_doctests.yaml @@ -47,7 +47,7 @@ jobs: with: environment-name: pygmt create-args: >- - python=3.14 + python=3.15 gmt=6.7.0 numpy pandas diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index 2854d928d3e..b459aa85ff3 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -61,7 +61,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.12', '3.14'] + python-version: ['3.12', '3.15'] os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest] # Is it a draft Pull Request (true or false)? isDraft: @@ -81,8 +81,8 @@ jobs: pandas-version: '=2.3' xarray-version: '=2024.10' optional-packages: ' contextily geopandas ipython pyarrow-core rioxarray netCDF4 sphinx-gallery' - # Python 3.14 + core packages (latest versions) + optional packages - - python-version: '3.14' + # Python 3.15 + core packages (latest versions) + optional packages + - python-version: '3.15' numpy-version: '2.5' pandas-version: '' xarray-version: '' diff --git a/.github/workflows/ci_tests_dev.yaml b/.github/workflows/ci_tests_dev.yaml index 8dd2d631c39..f87c233214a 100644 --- a/.github/workflows/ci_tests_dev.yaml +++ b/.github/workflows/ci_tests_dev.yaml @@ -70,7 +70,7 @@ jobs: # environment cache is persistent for one week. cache-environment-key: micromamba-environment-${{ steps.date.outputs.date }} create-args: >- - python=3.14 + python=3.15 cmake make ninja diff --git a/.github/workflows/format-command.yml b/.github/workflows/format-command.yml index 760e71fd7ea..d75c4a1a142 100644 --- a/.github/workflows/format-command.yml +++ b/.github/workflows/format-command.yml @@ -36,7 +36,7 @@ jobs: - name: Set up Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: - python-version: '3.14' + python-version: '3.15' - name: Install formatting tools run: | diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml index 4a0f7c31150..5808b5a4571 100644 --- a/.github/workflows/publish-to-pypi.yml +++ b/.github/workflows/publish-to-pypi.yml @@ -50,7 +50,7 @@ jobs: - name: Set up Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: - python-version: '3.14' + python-version: '3.15' - name: Install dependencies run: python -m pip install build diff --git a/.github/workflows/style_checks.yaml b/.github/workflows/style_checks.yaml index af5226bac19..946d66cb1fd 100644 --- a/.github/workflows/style_checks.yaml +++ b/.github/workflows/style_checks.yaml @@ -33,7 +33,7 @@ jobs: - name: Set up Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: - python-version: '3.14' + python-version: '3.15' - name: Install packages run: | diff --git a/.github/workflows/type_checks.yml b/.github/workflows/type_checks.yml index b1c3ac14a64..4257a04d2d0 100644 --- a/.github/workflows/type_checks.yml +++ b/.github/workflows/type_checks.yml @@ -43,7 +43,7 @@ jobs: - name: Set up Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: - python-version: '3.14' + python-version: '3.15' - name: Install packages run: | diff --git a/ci/requirements/docs.yml b/ci/requirements/docs.yml index c4aa6108f4d..69a2f512d69 100644 --- a/ci/requirements/docs.yml +++ b/ci/requirements/docs.yml @@ -4,7 +4,7 @@ channels: - nodefaults dependencies: # Required dependencies - - python=3.14 + - python=3.15 - gmt=6.7.0 - ghostscript=10.08.0 - numpy diff --git a/doc/install.md b/doc/install.md index 8061fff7d01..82f96ec5cf7 100644 --- a/doc/install.md +++ b/doc/install.md @@ -99,7 +99,7 @@ Now we can create a new virtual environment with Python and all our dependencies installed (we'll call it `pygmt` but feel free to change it to whatever you want): ``` -conda create --name pygmt python=3.14 numpy pandas xarray packaging gmt +conda create --name pygmt python=3.15 numpy pandas xarray packaging gmt ``` Activate the environment by running the following (**do not forget this step!**): diff --git a/pyproject.toml b/pyproject.toml index 23fe013a24e..a2854095dcb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,6 +33,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", ] dependencies = [ "numpy>=2.2",