Skip to content

Commit 59eb08c

Browse files
authored
maint: drop python 3.8 support (#321)
* drop python 3.8 support * update from precommit
1 parent b36328e commit 59eb08c

File tree

13 files changed

+155
-137
lines changed

13 files changed

+155
-137
lines changed

.github/workflows/ci.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ jobs:
2020
strategy:
2121
fail-fast: false
2222
matrix:
23-
python: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
23+
python: ["3.9", "3.10", "3.11", "3.12", "3.13"]
2424
os: ["ubuntu-latest"]
2525
pytest_opts: ["--workers 4 --tests-per-worker 1"]
2626
requirements: [""]
2727
include:
2828
- os: "ubuntu-latest"
29-
python: "3.8"
29+
python: "3.9"
3030
requirements: "requirements/minimum.txt"
3131
- os: "macos-latest"
3232
python: "3.10"

.github/workflows/code-checks.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ jobs:
2424
- uses: actions/checkout@v4
2525
- uses: actions/setup-python@v4
2626
with:
27-
python-version: 3.12 # Use the maximum version supported by python-pins
27+
python-version: 3.13 # Use the maximum version supported by python-pins
2828
- name: Install dependencies
2929
shell: bash
3030
run: |
3131
python -m pip install --upgrade pip
3232
python -m pip install -e .[check]
3333
- uses: jakebailey/pyright-action@v2
3434
with:
35-
version: 1.1.372 # Manually sync with setup.cfg
35+
version: 1.1.372

Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ docs-build:
3838
docs-clean:
3939
rm -rf docs/_build docs/api/api_card
4040

41-
requirements/dev.txt: setup.cfg
41+
requirements/dev.txt: pyproject.toml
4242
@# allows you to do this...
4343
@# make requirements | tee > requirements/some_file.txt
44-
@pip-compile setup.cfg --rebuild --extra doc --extra test --extra check --output-file=- > $@
44+
@pip-compile pyproject.toml --rebuild --extra doc --extra test --extra check --output-file=- > $@
4545

4646
binder/requirements.txt: requirements/dev.txt
4747
cp $< $@

pins/boards.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66
import re
77
import shutil
88
import tempfile
9+
from collections.abc import Mapping, Sequence
910
from datetime import datetime, timedelta
1011
from io import IOBase
1112
from pathlib import Path
12-
from typing import Mapping, Protocol, Sequence
13+
from typing import Protocol
1314

1415
from importlib_resources import files
1516
from importlib_resources.abc import Traversable

pins/cache.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import shutil
66
import time
77
import urllib.parse
8+
from collections.abc import Iterator
89
from pathlib import Path
9-
from typing import Iterator
1010

1111
import humanize
1212
from fsspec import register_implementation

pins/drivers.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
from collections.abc import Sequence
12
from pathlib import Path
2-
from typing import Sequence
33

44
from .config import PINS_ENV_INSECURE_READ, get_allow_pickle_read
55
from .errors import PinsInsecureReadError

pins/meta.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
from __future__ import annotations
22

3+
from collections.abc import Mapping, Sequence
34
from dataclasses import InitVar, asdict, dataclass, field, fields
45
from pathlib import Path
5-
from typing import Any, ClassVar, Mapping, Sequence
6+
from typing import Any, ClassVar
67

78
import yaml
89

pins/rsconnect/api.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import logging
44
import os
55
import tempfile
6-
from collections.abc import Mapping
6+
from collections.abc import Mapping, Sequence
77
from dataclasses import dataclass
88
from functools import partial
99
from io import IOBase
1010
from pathlib import Path
11-
from typing import Generic, Literal, Sequence, TypeVar, overload
11+
from typing import Generic, Literal, TypeVar, overload
1212
from urllib.parse import urlencode
1313

1414
import requests

pins/rsconnect/fs.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
from __future__ import annotations
22

3+
from collections.abc import Sequence
34
from dataclasses import asdict, dataclass, field, fields
45
from pathlib import Path
5-
from typing import ClassVar, Sequence
6+
from typing import ClassVar
67

78
from fsspec import AbstractFileSystem
89

pins/tests/test_rsconnect_api.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,10 @@ def test_rsconnect_api_get_content_bundle_archive(rsc_short):
228228
bundle = create_content_bundle(rsc_short, content["guid"])
229229

230230
# create temporary directories for content source and dest to download to ----
231-
with tempfile.TemporaryDirectory() as tmp_src, tempfile.TemporaryDirectory() as tmp_dst:
231+
with (
232+
tempfile.TemporaryDirectory() as tmp_src,
233+
tempfile.TemporaryDirectory() as tmp_dst,
234+
):
232235
create_content_bundle(rsc_short, content["guid"], tmp_src)
233236

234237
# download .tar.gz archive to a temporary file and unzip ----

pins/versions.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from __future__ import annotations
22

33
import logging
4+
from collections.abc import Mapping, Sequence
45
from dataclasses import asdict, dataclass
56
from datetime import datetime
67
from pathlib import Path
7-
from typing import Mapping, Sequence
88

99
from xxhash import xxh64
1010

pyproject.toml

+1-2
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,14 @@ maintainers = [{ name = "Isabel Zimmerman", email = "[email protected]"
1010
keywords = ["data", "tidyverse"]
1111
classifiers = [
1212
"Programming Language :: Python :: 3 :: Only",
13-
"Programming Language :: Python :: 3.8",
1413
"Programming Language :: Python :: 3.9",
1514
"Programming Language :: Python :: 3.10",
1615
"Programming Language :: Python :: 3.11",
1716
"Programming Language :: Python :: 3.12",
1817
"Programming Language :: Python :: 3.13",
1918
"License :: OSI Approved :: MIT License",
2019
]
21-
requires-python = ">=3.8"
20+
requires-python = ">=3.9"
2221
dynamic = ["version"]
2322
dependencies = [
2423
"appdirs<2", # Using appdirs rather than platformdirs is deliberate, see https://github.com/rstudio/pins-python/pull/239

0 commit comments

Comments
 (0)