Skip to content

Commit 0d92a02

Browse files
authored
chore: drop py3.8-3.9, add py3.13 (#228)
1 parent 5dfbb50 commit 0d92a02

File tree

9 files changed

+1122
-1127
lines changed

9 files changed

+1122
-1127
lines changed

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
- name: Setup Python
2929
uses: actions/setup-python@v5
3030
with:
31-
python-version: 3.9
31+
python-version: '3.10'
3232
cache: 'pip'
3333
cache-dependency-path: pyproject.toml
3434

@@ -111,7 +111,7 @@ jobs:
111111
- name: Setup Python
112112
uses: actions/setup-python@v5
113113
with:
114-
python-version: 3.9
114+
python-version: '3.10'
115115

116116
- name: Install Python dependencies
117117
run: |
@@ -158,7 +158,7 @@ jobs:
158158
- name: Setup Python
159159
uses: actions/setup-python@v5
160160
with:
161-
python-version: 3.9
161+
python-version: '3.10'
162162

163163
- name: Install Python dependencies
164164
run: |

autotest/test_mf6_existing_meson.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import sys
33
from pathlib import Path
44
from platform import system
5-
from typing import List
65

76
import pytest
87
from modflow_devtools.misc import set_dir
@@ -15,7 +14,7 @@
1514

1615

1716
@pytest.fixture(scope="module")
18-
def targets() -> List[Path]:
17+
def targets() -> list[Path]:
1918
target = TARGET_NAME
2019
ext, shared_ext = get_binary_suffixes()
2120
executables = [target, "zbud6", "mf5to6", "libmf6"]

pixi.lock

Lines changed: 1107 additions & 1110 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pixi.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ pytest-cov = "*"
2626
pytest-dotenv = "*"
2727
pytest-order = "*"
2828
pytest-xdist = "*"
29-
python = "3.9.*"
29+
python = "3.10.*"
3030
requests = "*"
3131
ruff = "*"
3232

pymake/utils/_compiler_language_files.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def _get_fortran_files(srcfiles, extensions=False):
2222
list of fortran files or unique fortran file extensions
2323
2424
"""
25-
if isinstance(srcfiles, (str,)):
25+
if isinstance(srcfiles, str):
2626
srcfiles = [srcfiles]
2727
files_out = []
2828
for srcfile in srcfiles:

pymake/utils/_file_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def _get_extra_exclude_files(external_file):
2020
if external_file is None:
2121
files = None
2222
else:
23-
if isinstance(external_file, (list, tuple)):
23+
if isinstance(external_file, list | tuple):
2424
files = external_file
2525
elif os.path.isfile(external_file):
2626
efpth = os.path.dirname(external_file)

pymake/utils/_usgs_src_update.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -666,7 +666,7 @@ def _update_vs2dt_files(srcdir, fc, cc, arch, double):
666666

667667

668668
def _update_mf6_files(
669-
srcdir: Union[str, os.PathLike],
669+
srcdir: str | os.PathLike,
670670
fc: str,
671671
cc: str,
672672
arch: str,
@@ -699,7 +699,7 @@ def _update_mf6_files(
699699

700700

701701
def _update_libmf6_files(
702-
srcdir: Union[str, os.PathLike],
702+
srcdir: str | os.PathLike,
703703
fc: str,
704704
cc: str,
705705
arch: str,
@@ -733,7 +733,7 @@ def _update_libmf6_files(
733733

734734
# common source file replacement functions
735735
def _update_mf6_external_dependencies(
736-
srcdir: Union[str, os.PathLike],
736+
srcdir: str | os.PathLike,
737737
target: str = "mf6",
738738
) -> None:
739739
"""

pymake/utils/download.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ def compressall(
143143
if dir_pths is None:
144144
dir_pths = []
145145
else:
146-
if isinstance(dir_pths, (str, Path)):
146+
if isinstance(dir_pths, str | Path):
147147
dir_pths = [dir_pths]
148148

149149
# convert find to a list if a str (a tuple is allowed)
@@ -862,7 +862,7 @@ def getmfexes(
862862
download_dir = os.path.join(".", "download_dir")
863863
if isinstance(exes, str):
864864
exes = tuple(exes)
865-
elif isinstance(exes, (int, float)):
865+
elif isinstance(exes, int | float):
866866
msg = "exes keyword must be a string or a list/tuple of strings"
867867
raise TypeError(msg)
868868

@@ -944,7 +944,7 @@ def getmfnightly(
944944
download_dir = os.path.join(".", "download_dir")
945945
if isinstance(exes, str):
946946
exes = tuple(exes)
947-
elif isinstance(exes, (int, float)):
947+
elif isinstance(exes, int | float):
948948
msg = "exes keyword must be a string or a list/tuple of strings"
949949
raise TypeError(msg)
950950

pyproject.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,13 @@ classifiers = [
1919
"Intended Audience :: Science/Research",
2020
"License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication",
2121
"Programming Language :: Python :: 3 :: Only",
22-
"Programming Language :: Python :: 3.8",
23-
"Programming Language :: Python :: 3.9",
2422
"Programming Language :: Python :: 3.10",
2523
"Programming Language :: Python :: 3.11",
2624
"Programming Language :: Python :: 3.12",
25+
"Programming Language :: Python :: 3.13",
2726
"Topic :: Scientific/Engineering :: Hydrology",
2827
]
29-
requires-python = ">=3.8"
28+
requires-python = ">=3.10"
3029
dependencies = [
3130
"numpy",
3231
"requests",

0 commit comments

Comments
 (0)