Skip to content

Commit 7f50a0d

Browse files
committed
deps: drop py3.8, support py3.9+
Signed-off-by: nstarman <[email protected]>
1 parent 60d1782 commit 7f50a0d

18 files changed

+39
-114
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ jobs:
1616
fail-fast: false
1717
matrix:
1818
value:
19-
- name: "3.8"
20-
python-version: "3.8"
21-
extra-install: ""
2219
- name: "3.9"
2320
python-version: "3.9"
2421
extra-install: ""
@@ -28,15 +25,18 @@ jobs:
2825
- name: "3.11"
2926
python-version: "3.11"
3027
extra-install: ""
31-
- name: "3.11-pre-beartype"
32-
python-version: "3.11"
33-
extra-install: "pip install --upgrade --pre beartype"
3428
- name: "3.12"
3529
python-version: "3.12"
3630
extra-install: ""
3731
- name: "3.12-pre-beartype"
3832
python-version: "3.12"
3933
extra-install: "pip install --upgrade --pre beartype"
34+
- name: "3.13"
35+
python-version: "3.13"
36+
extra-install: ""
37+
- name: "3.13-pre-beartype"
38+
python-version: "3.13"
39+
extra-install: "pip install --upgrade --pre beartype"
4040

4141
name: Test ${{ matrix.value.name }}
4242
steps:

.readthedocs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ version: 2
33
build:
44
os: ubuntu-22.04
55
tools:
6-
python: "3.11"
6+
python: "3.12"
77
jobs:
88
pre_build:
99
# Generate the Sphinx configuration for this Jupyter Book, so it builds.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ If you notice any issues with the new release, please open an issue.
1717

1818
# Installation
1919

20-
Plum requires Python 3.8 or higher.
20+
Plum requires Python 3.9 or higher.
2121

2222
```bash
2323
pip install plum-dispatch

check_linter_assertions.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
import subprocess
33
import sys
44
from collections import defaultdict
5+
from collections.abc import Callable
56
from pathlib import Path
6-
from typing import Callable, Dict, List, Tuple
7+
from typing import Dict, List, Tuple
78

89
FileLineInfo = Dict[Path, Dict[int, List[str]]]
910
"""type: Type of a nested dictionary that gives for a collection of files line-wise

plum/alias.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@
2727
"""
2828

2929
from functools import wraps
30-
from typing import List, TypeVar, Union, _type_repr
31-
32-
from .typing import get_args
30+
from typing import List, TypeVar, Union, _type_repr, get_args
3331

3432
__all__ = ["activate_union_aliases", "deactivate_union_aliases", "set_union_alias"]
3533

plum/dispatcher.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515

1616
_dataclass_kw_args: Dict[str, Any] = {}
17-
if sys.version_info >= (3, 10): # pragma: specific no cover 3.8 3.9
17+
if sys.version_info >= (3, 10): # pragma: specific no cover 3.9
1818
_dataclass_kw_args |= {"slots": True}
1919

2020

plum/function.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
# `typing.Self` is available for Python 3.11 and higher.
2121
try: # pragma: specific no cover 3.11
2222
from typing import Self
23-
except ImportError: # pragma: specific no cover 3.8 3.9 3.10
23+
except ImportError: # pragma: specific no cover 3.10
2424
Self = TypeVar("Self", bound="Function")
2525

2626
SomeExceptionType = TypeVar("SomeExceptionType", bound=Exception)
@@ -125,7 +125,7 @@ def __doc__(self) -> Optional[str]:
125125
"""
126126
try:
127127
self._resolve_pending_registrations()
128-
except NameError: # pragma: specific no cover 3.7 3.8 3.9
128+
except NameError: # pragma: specific no cover 3.9
129129
# When `staticmethod` is combined with
130130
# `from __future__ import annotations`, in Python 3.10 and higher
131131
# `staticmethod` will attempt to inherit `__doc__` (see

plum/method.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import inspect
22
import typing
3-
from typing import Callable, List, Optional, Set, Tuple
3+
from collections.abc import Callable
4+
from typing import List, Optional, Set, Tuple
45

56
from rich.padding import Padding
67
from rich.text import Text

plum/overload.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import sys
22

3-
if sys.version_info >= (3, 11): # pragma: specific no cover 3.7 3.8 3.9 3.10
3+
if sys.version_info >= (3, 11): # pragma: specific no cover 3.9 3.10
44
from typing import get_overloads, overload
55
else: # pragma: specific no cover 3.11
66
from typing_extensions import get_overloads, overload

plum/repr.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def repr_short(x) -> str:
6666
str: Shorter representation of `x`.
6767
"""
6868
# :func:`typing._type_repr` is an internal function, but it should be available in
69-
# Python versions 3.8 through 3.11.
69+
# Python versions 3.9 through 3.11.
7070
return typing._type_repr(x)
7171

7272

0 commit comments

Comments
 (0)