Skip to content

Commit

Permalink
Update to Python 3.13 (#92)
Browse files Browse the repository at this point in the history
* Add Python 3.13.0rc2 to GHA pytest workflow

Added Python 3.13.0rc2 to the pytest-with-coverage workflow python-version
matrix to test compatibility with the latest release candidate. Also added
'conda-forge/label/python_rc' channel to the test environment configuration
to enable installation of the release candidate.

* Change to Python 3.13 in GHA pytest workflow

Changed from Python 3.13.0rc2 to 3.13 in the pytest-with-coverage workflow
python-version matrix to test compatibility with the final release. Also dropped
the 'conda-forge/label/python_rc' channel from the test environment configuration
because it is no longer needed.

* Update ReadTheDocs build config

Upgraded the OS to Ubuntu 24.04 and updated the Python toolchain to
mambaforge-23.11 in the .readthedocs.yaml file. This ensures compatibility with
the latest environment settings.

* Update to Python 3.13 in envs & GHA sphinx-linkcheck

Upgraded Python from version 3.12 to 3.13 across various YAML files. This
includes updates to development, RTD, and HPC environments, as well as GHA
sphinx-linkcheck workflow.

* Update Sphinx & optional dependencies version pins

Updated Sphinx and optional dependencies packages pinned versions in
`environment-dev.yaml`, `environment-test.yaml`, and `environment-rtd.yaml` to
get functional Python 3.13 environment.

* Update to Python 3.13 for development and use

Upgraded the required Python version to 3.13 in `pyproject.toml` and updated
related documentation and links to reflect this change.

* Revert Python version requirement to >=3.11

Reverted the required Python version from 3.13 to 3.11 in pyproject.toml
because I made a mistake. It has to be the oldest version that the package
supports, and we're leaving that at 3.11 due to several group members' envs
on graham.
  • Loading branch information
douglatornell authored Oct 27, 2024
1 parent 74c15bf commit 6434f0f
Show file tree
Hide file tree
Showing 12 changed files with 234 additions and 230 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pytest-with-coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ '3.11', '3.12' ]
python-version: [ '3.11', '3.12', '3.13' ]
uses: UBC-MOAD/gha-workflows/.github/workflows/pytest-with-coverage.yaml@main
with:
python-version: ${{ matrix.python-version }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sphinx-linkcheck.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
matrix:
# Need to specify Python version here because we use test env which gets its
# Python version via matrix
python-version: ['3.12']
python-version: ['3.13']
uses: UBC-MOAD/gha-workflows/.github/workflows/sphinx-linkcheck.yaml@main
with:
python-version: ${{ matrix.python-version }}
Expand Down
4 changes: 2 additions & 2 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
version: 2

build:
os: ubuntu-22.04
os: ubuntu-24.04
tools:
python: "mambaforge-22.9"
python: "mambaforge-23.11"

conda:
environment: envs/environment-rtd.yaml
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ NEMO Command Processor
| | :target: https://github.com/SalishSeaCast/NEMO-Cmd/releases |
| | :alt: Releases |
| | .. image:: https://img.shields.io/python/required-version-toml?tomlFilePath=https://raw.githubusercontent.com/SalishSeaCast/NEMO-Cmd/main/pyproject.toml&logo=Python&logoColor=gold&label=Python |
| | :target: https://docs.python.org/3.12/ |
| | :target: https://docs.python.org/3.13/ |
| | :alt: Python Version from PEP 621 TOML |
| | .. image:: https://img.shields.io/github/issues/SalishSeaCast/NEMO-Cmd?logo=github |
| | :target: https://github.com/SalishSeaCast/NEMO-Cmd/issues |
Expand Down
4 changes: 2 additions & 2 deletions docs/CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
Change Log
**********

v23.2.dev0 (unreleased)
v24.1.dev0 (unreleased)
=======================

*
* Change to Python 3.13 for package development.


v23.1 (2023-11-20)
Expand Down
311 changes: 158 additions & 153 deletions docs/development.rst

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ These instructions assume that:
(`Miniforge`_ or `Miniconda3`_)
installed

.. _Conda: https://conda.io/en/latest/
.. _Conda: https://docs.conda.io/en/latest/
.. _Miniforge: https://github.com/conda-forge/miniforge
.. _Miniconda3: https://docs.conda.io/en/latest/miniconda.html

Expand Down
8 changes: 4 additions & 4 deletions envs/environment-dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ dependencies:
- f90nml
- gitpython
- pip
- python=3.12
- python=3.13
- pyyaml

# For coding style, repo QA, and pkg management
Expand All @@ -41,9 +41,9 @@ dependencies:
- pytest-randomly

# For documentation
- sphinx=5.3.0
- sphinx-notfound-page=1.0.0
- sphinx-rtd-theme=1.3.0
- sphinx=8.1.3
- sphinx-notfound-page=1.0.4
- sphinx-rtd-theme=3.0.0

- pip:
- python-hglib
Expand Down
2 changes: 1 addition & 1 deletion envs/environment-hpc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ dependencies:
- f90nml
- gitpython
- pip
- python=3.12
- python=3.13
- pyyaml

- pip:
Expand Down
8 changes: 4 additions & 4 deletions envs/environment-rtd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ channels:

dependencies:
- pip
- python=3.12
- python=3.13

# Sphinx and extensions
- sphinx=5.3.0
- sphinx-notfound-page=1.0.0
- sphinx-rtd-theme=1.3.0
- sphinx=8.1.3
- sphinx-notfound-page=1.0.4
- sphinx-rtd-theme=3.0.0

# readthedocs build system packages
- mock
Expand Down
6 changes: 3 additions & 3 deletions envs/environment-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ dependencies:
- pytest-randomly

# For documentation links checking
- sphinx=5.3.0
- sphinx-notfound-page=1.0.0
- sphinx-rtd-theme=1.3.0
- sphinx=8.1.3
- sphinx-notfound-page=1.0.4
- sphinx-rtd-theme=3.0.0

- pip:
- python-hglib
Expand Down
113 changes: 56 additions & 57 deletions envs/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,113 +7,112 @@
# Create/update this file with:
# (nemo-cmd)$ python -m pip list --format=freeze >> envs/requirements.txt

alabaster==0.7.16
anyio==4.3.0
alabaster==1.0.0
anyio==4.6.2.post1
arrow==1.3.0
attrs==23.2.0
attrs==24.2.0
autopage==0.5.2
Babel==2.14.0
backports.tarfile==1.0.0
black==24.4.2
black==24.10.0
Brotli==1.1.0
certifi==2024.7.4
cffi==1.16.0
certifi==2024.8.30
cffi==1.17.1
cfgv==3.3.1
charset-normalizer==3.3.2
charset-normalizer==3.4.0
click==8.1.7
cliff==4.6.0
cliff==4.7.0
cmd2==2.4.3
colorama==0.4.6
coverage==7.5.1
coverage==7.6.3
cryptography==43.0.1
distlib==0.3.8
docutils==0.17.1
distlib==0.3.9
docutils==0.21.2
editables==0.5
exceptiongroup==1.2.0
exceptiongroup==1.2.2
f90nml==1.4.4
filelock==3.14.0
filelock==3.16.1
gitdb==4.0.11
GitPython==3.1.43
h11==0.14.0
h2==4.1.0
hatch==1.10.0
hatchling==1.24.2
hatch==1.13.0
hatchling==1.25.0
hpack==4.0.0
httpcore==1.0.5
httpx==0.27.0
httpcore==1.0.6
httpx==0.27.2
hyperframe==6.0.1
hyperlink==21.0.0
identify==2.5.36
idna==3.7
identify==2.6.1
idna==3.10
imagesize==1.4.1
importlib_metadata==7.1.0
importlib_resources==6.4.0
importlib_metadata==8.5.0
importlib_resources==6.4.5
iniconfig==2.0.0
jaraco.classes==3.4.0
jaraco.context==5.3.0
jaraco.functools==4.0.0
jeepney==0.8.0
Jinja2==3.1.4
keyring==25.2.0
keyring==25.4.1
markdown-it-py==3.0.0
MarkupSafe==2.1.5
MarkupSafe==3.0.1
mdurl==0.1.2
more-itertools==10.2.0
more-itertools==10.5.0
mypy-extensions==1.0.0
nodeenv==1.8.0
packaging==24.0
nodeenv==1.9.1
packaging==24.1
pathspec==0.12.1
pbr==6.0.0
pbr==6.1.0
pexpect==4.9.0
pip==24.0
platformdirs==4.2.1
pip==24.2
platformdirs==4.3.6
pluggy==1.5.0
pre_commit==3.7.0
prettytable==3.10.0
pre_commit==4.0.1
prettytable==3.11.0
ptyprocess==0.7.0
pycparser==2.22
Pygments==2.18.0
pyperclip==1.8.2
pyperclip==1.9.0
PySocks==1.7.1
pytest==8.2.0
pytest==8.3.3
pytest-cov==5.0.0
pytest-randomly==3.15.0
python-dateutil==2.9.0
python-hglib==2.6.2
pytz==2024.1
PyYAML==6.0.1
requests==2.32.0
rich==13.7.1
pytz==2024.2
PyYAML==6.0.2
requests==2.32.3
rich==13.9.2
SecretStorage==3.3.3
setuptools==70.0.0
setuptools==75.1.0
shellingham==1.5.4
six==1.16.0
smmap==5.0.0
sniffio==1.3.1
snowballstemmer==2.2.0
Sphinx==5.3.0
sphinx-notfound-page==1.0.0
sphinx-rtd-theme==1.3.0
sphinxcontrib-applehelp==1.0.8
sphinxcontrib-devhelp==1.0.6
sphinxcontrib-htmlhelp==2.0.5
Sphinx==8.1.3
sphinx-notfound-page==1.0.4
sphinx_rtd_theme==3.0.0
sphinxcontrib-applehelp==2.0.0
sphinxcontrib-devhelp==2.0.0
sphinxcontrib-htmlhelp==2.1.0
sphinxcontrib-jquery==4.1
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.7
sphinxcontrib-qthelp==2.0.0
sphinxcontrib-serializinghtml==1.1.10
stevedore==5.2.0
stevedore==5.3.0
toml==0.10.2
tomli==2.0.1
tomli_w==1.0.0
tomlkit==0.12.4
trove-classifiers==2024.4.10
types-python-dateutil==2.9.0.20240316
typing_extensions==4.11.0
tomli==2.0.2
tomli_w==1.1.0
tomlkit==0.13.2
trove-classifiers==2024.10.16
types-python-dateutil==2.9.0.20241003
typing_extensions==4.12.2
ukkonen==1.0.1
urllib3==2.2.2
urllib3==2.2.3
userpath==1.7.0
virtualenv==20.26.1
virtualenv==20.27.0
wcwidth==0.2.13
wheel==0.43.0
zipp==3.19.1
zstandard==0.22.0
zipp==3.20.2
zstandard==0.23.0

0 comments on commit 6434f0f

Please sign in to comment.