Skip to content

Commit

Permalink
Add support for Python 3.13
Browse files Browse the repository at this point in the history
Python 3.13 has been released on 7 Oct 2024, changelog is at https://docs.python.org/3.13/whatsnew/3.13.html
  • Loading branch information
weiji14 committed Oct 7, 2024
1 parent 331998d commit f7462f6
Show file tree
Hide file tree
Showing 14 changed files with 21 additions and 20 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
cache-environment-key: micromamba-environment-${{ steps.date.outputs.date }}
create-args: >-
gmt=6.5.0
python=3.12
python=3.13
numpy
pandas
xarray
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cache_data.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
- conda-forge
- nodefaults
create-args: >-
python=3.12
python=3.13
gmt=6.5.0
numpy
pandas
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
# Is it a draft Pull Request (true or false)?
isDraft:
- ${{ github.event.pull_request.draft }}
# Only run one job (Ubuntu + Python 3.12) for draft PRs
# Only run one job (Ubuntu + Python 3.13) for draft PRs
exclude:
- os: macos-latest
isDraft: true
Expand Down Expand Up @@ -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.12
python=3.13
gmt=6.5.0
ghostscript=10.04.0
numpy
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci_doctests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
- conda-forge
- nodefaults
create-args: >-
python=3.12
python=3.13
gmt=6.5.0
numpy
pandas
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/ci_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,27 +54,27 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.10', '3.12']
python-version: ['3.10', '3.13']
os: [ubuntu-latest, macos-latest, windows-latest]
# Is it a draft Pull Request (true or false)?
isDraft:
- ${{ github.event.pull_request.draft }}
# Only run two jobs (Ubuntu + Python 3.10/3.12) for draft PRs
# Only run two jobs (Ubuntu + Python 3.10/3.13) for draft PRs
exclude:
- os: macos-latest
isDraft: true
- os: windows-latest
isDraft: true
# Pair Python 3.10 with the minimum supported versions of NumPy/Pandas/Xarray
# and Python 3.12 with the latest versions of NumPy/Pandas/Xarray
# Only install optional packages on Python 3.12
# and Python 3.13 with the latest versions of NumPy/Pandas/Xarray
# Only install optional packages on Python 3.13
include:
- python-version: '3.10'
numpy-version: '1.24'
pandas-version: '=2.0'
xarray-version: '=2023.04'
optional-packages: ''
- python-version: '3.12'
- python-version: '3.13'
numpy-version: '2.1'
pandas-version: ''
xarray-version: ''
Expand All @@ -83,7 +83,7 @@ jobs:
# The python-version here can't be the versions in the matrix.python-version
# defined above. Otherwise, other jobs will be overridden by this one.
- os: 'ubuntu-latest'
python-version: '3.11' # Can't be 3.10 or 3.12.
python-version: '3.11' # Can't be 3.10 or 3.13.
numpy-version: '1.24'
pandas-version: ''
xarray-version: ''
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci_tests_dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
# environment cache is persistent for one week.
cache-environment-key: micromamba-environment-${{ steps.date.outputs.date }}
create-args: >-
python=3.12
python=3.13
cmake
make
ninja
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/format-command.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
# Setup Python environment
- uses: actions/[email protected]
with:
python-version: '3.12'
python-version: '3.13'

# Install formatting tools
- name: Install formatting tools
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-to-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
- name: Set up Python
uses: actions/[email protected]
with:
python-version: '3.12'
python-version: '3.13'

- name: Install dependencies
run: python -m pip install build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/style_checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
- name: Set up Python
uses: actions/[email protected]
with:
python-version: '3.12'
python-version: '3.13'

- name: Install packages
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/type_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
- name: Set up Python
uses: actions/[email protected]
with:
python-version: '3.12'
python-version: '3.13'

- name: Install packages
run: |
Expand Down
2 changes: 1 addition & 1 deletion ci/requirements/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ channels:
- nodefaults
dependencies:
# Required dependencies
- python=3.12
- python=3.13
- gmt=6.5.0
- ghostscript=10.04.0
- numpy
Expand Down
4 changes: 2 additions & 2 deletions doc/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,14 +132,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.12 numpy pandas xarray netcdf4 packaging gmt
mamba create --name pygmt python=3.13 numpy pandas xarray netcdf4 packaging gmt
```
:::

::: {tab-item} conda
:sync: conda
```
conda create --name pygmt python=3.12 numpy pandas xarray netcdf4 packaging gmt
conda create --name pygmt python=3.13 numpy pandas xarray netcdf4 packaging gmt
```
:::
::::
Expand Down
2 changes: 1 addition & 1 deletion environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ channels:
- conda-forge
- nodefaults
dependencies:
- python=3.12
- python=3.13
# Required dependencies
- gmt=6.5.0
- ghostscript=10.04.0
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"License :: OSI Approved :: BSD License",
]
dependencies = [
Expand Down

0 comments on commit f7462f6

Please sign in to comment.