diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index 9b187dd97bf..b4d930c01ce 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -56,7 +56,7 @@ jobs: cache-environment-key: micromamba-environment-${{ steps.date.outputs.date }} create-args: >- gmt=6.6.0 - python=3.13 + python=3.14 numpy pandas xarray diff --git a/.github/workflows/cache_data.yaml b/.github/workflows/cache_data.yaml index 71855f02e27..725c3e4c2a3 100644 --- a/.github/workflows/cache_data.yaml +++ b/.github/workflows/cache_data.yaml @@ -50,7 +50,7 @@ jobs: with: environment-name: pygmt create-args: >- - python=3.13 + python=3.14 gmt=6.6.0 numpy pandas diff --git a/.github/workflows/ci_docs.yml b/.github/workflows/ci_docs.yml index ab41739e0a2..de9bb6ce5ab 100644 --- a/.github/workflows/ci_docs.yml +++ b/.github/workflows/ci_docs.yml @@ -91,7 +91,7 @@ jobs: # environment cache is persistent for one week. cache-environment-key: micromamba-environment-${{ steps.date.outputs.date }} create-args: >- - python=3.13 + python=3.14 gmt=6.6.0 ghostscript=10.06.0 numpy diff --git a/.github/workflows/ci_doctests.yaml b/.github/workflows/ci_doctests.yaml index dc945eda35b..43b0fa28eb1 100644 --- a/.github/workflows/ci_doctests.yaml +++ b/.github/workflows/ci_doctests.yaml @@ -49,7 +49,7 @@ jobs: with: environment-name: pygmt create-args: >- - python=3.13 + python=3.14 gmt=6.6.0 numpy pandas diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index 2656fd0bc7b..b5d85028f43 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -56,7 +56,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.11', '3.13'] + python-version: ['3.11', '3.14'] os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest] # Is it a draft Pull Request (true or false)? isDraft: @@ -76,8 +76,8 @@ jobs: pandas-version: '=2.2' xarray-version: '=2024.5' optional-packages: ' contextily geopandas ipython pyarrow-core rioxarray netCDF4 sphinx-gallery' - # Python 3.13 + core packages (latest versions) + optional packages - - python-version: '3.13' + # Python 3.14 + core packages (latest versions) + optional packages + - python-version: '3.14' numpy-version: '2.3' pandas-version: '' xarray-version: '' diff --git a/.github/workflows/ci_tests_dev.yaml b/.github/workflows/ci_tests_dev.yaml index 84870285d5a..ae2f371d622 100644 --- a/.github/workflows/ci_tests_dev.yaml +++ b/.github/workflows/ci_tests_dev.yaml @@ -67,7 +67,7 @@ jobs: # environment cache is persistent for one week. cache-environment-key: micromamba-environment-${{ steps.date.outputs.date }} create-args: >- - python=3.13 + python=3.14 cmake make ninja diff --git a/.github/workflows/format-command.yml b/.github/workflows/format-command.yml index 13ae1456f9a..7089bafa619 100644 --- a/.github/workflows/format-command.yml +++ b/.github/workflows/format-command.yml @@ -35,7 +35,7 @@ jobs: - name: Set up Python and install dependencies uses: actions/setup-python@v6.1.0 with: - python-version: '3.13' + python-version: '3.14' pip-install: ruff prek - name: List installed packages diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml index 36b717c1173..4a1ef3c3e52 100644 --- a/.github/workflows/publish-to-pypi.yml +++ b/.github/workflows/publish-to-pypi.yml @@ -52,7 +52,7 @@ jobs: - name: Set up Python and install dependencies uses: actions/setup-python@v6.1.0 with: - python-version: '3.13' + python-version: '3.14' pip-install: build # This step is only necessary for testing purposes and for TestPyPI diff --git a/.github/workflows/style_checks.yaml b/.github/workflows/style_checks.yaml index dfcd6952c36..1679efa04f1 100644 --- a/.github/workflows/style_checks.yaml +++ b/.github/workflows/style_checks.yaml @@ -33,7 +33,7 @@ jobs: - name: Set up Python and install dependencies uses: actions/setup-python@v6.1.0 with: - python-version: '3.13' + python-version: '3.14' pip-install: ruff prek - name: List installed packages diff --git a/.github/workflows/type_checks.yml b/.github/workflows/type_checks.yml index 9716613079a..7fbab64b3f9 100644 --- a/.github/workflows/type_checks.yml +++ b/.github/workflows/type_checks.yml @@ -43,17 +43,14 @@ jobs: - name: Set up Python uses: actions/setup-python@v6.1.0 with: - python-version: '3.13' - # Need to install four groups of packages: + python-version: '3.14' + # Need to install following packages: # 1. required packages - # 2. optional packages - # 3. type checker and stub packages - # 4. other packages that are used somewhere in PyGMT + # 2. type checker and stub packages + # 3. other packages that are used somewhere in PyGMT pip-install: | numpy pandas xarray packaging - contextily geopandas ipython pyarrow rioxarray mypy pandas-stubs pyarrow-stubs - matplotlib pytest - name: List install packages run: python -m pip list diff --git a/ci/requirements/docs.yml b/ci/requirements/docs.yml index 4573623a0df..eb40c9aa2f9 100644 --- a/ci/requirements/docs.yml +++ b/ci/requirements/docs.yml @@ -4,7 +4,7 @@ channels: - nodefaults dependencies: # Required dependencies - - python=3.13 + - python=3.14 - gmt=6.6.0 - ghostscript=10.06.0 - numpy diff --git a/doc/install.md b/doc/install.md index db03ffdec50..cbbc2afa14b 100644 --- a/doc/install.md +++ b/doc/install.md @@ -127,14 +127,14 @@ installed (we'll call it `pygmt` but feel free to change it to whatever you want ::: {tab-item} mamba :sync: mamba ``` -mamba create --name pygmt python=3.13 numpy pandas xarray packaging gmt +mamba create --name pygmt python=3.14 numpy pandas xarray packaging gmt ``` ::: ::: {tab-item} conda :sync: conda ``` -conda create --name pygmt python=3.13 numpy pandas xarray packaging gmt +conda create --name pygmt python=3.14 numpy pandas xarray packaging gmt ``` ::: :::: diff --git a/pyproject.toml b/pyproject.toml index 8a03f58b1a5..159a058809b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,6 +33,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "numpy>=2.0",