Skip to content

Commit 50dd399

Browse files
committed
Drop support for Python 3.8
It's EOL. Ubuntu 20.04 is the last officially-supported distro that uses it, and Ubuntu 20.04 will exit standard security maintenance on May 31. Signed-off-by: Benjamin Gilbert <[email protected]>
1 parent 8fabf27 commit 50dd399

File tree

6 files changed

+10
-10
lines changed

6 files changed

+10
-10
lines changed

.github/workflows/python.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
strategy:
4444
matrix:
4545
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest]
46-
python-version: [3.8, 3.9, "3.10", "3.11", "3.12", "3.13"]
46+
python-version: [3.9, "3.10", "3.11", "3.12", "3.13"]
4747
openslide: [system, wheel]
4848
include:
4949
- os: ubuntu-latest
@@ -158,7 +158,7 @@ jobs:
158158
shell: bash
159159
strategy:
160160
matrix:
161-
python-version: [3.8, 3.9, "3.10", "3.11", "3.12", "3.13"]
161+
python-version: [3.9, "3.10", "3.11", "3.12", "3.13"]
162162
openslide: [zip, wheel]
163163
steps:
164164
- name: Check out repo

.pre-commit-config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ repos:
2020
hooks:
2121
- id: pyupgrade
2222
name: Modernize python code
23-
args: ["--py38-plus"]
23+
args: ["--py39-plus"]
2424

2525
- repo: https://github.com/PyCQA/isort
2626
rev: 6.0.1

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ OpenSlide can read virtual slides in several formats:
4141

4242
## Requirements
4343

44-
* Python ≥ 3.8
44+
* Python ≥ 3.9
4545
* OpenSlide ≥ 3.4.0
4646
* Pillow
4747

examples/deepzoom/deepzoom_server.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323

2424
from argparse import ArgumentParser
2525
import base64
26-
from collections.abc import Callable
26+
from collections.abc import Callable, Mapping
2727
from io import BytesIO
2828
import os
2929
from pathlib import Path
3030
import re
31-
from typing import TYPE_CHECKING, Any, Literal, Mapping
31+
from typing import TYPE_CHECKING, Any, Literal
3232
from unicodedata import normalize
3333
import zlib
3434

openslide/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@
2626
from __future__ import annotations
2727

2828
from abc import ABCMeta, abstractmethod
29+
from collections.abc import Iterator, Mapping
2930
from io import BytesIO
3031
from types import TracebackType
31-
from typing import Iterator, Literal, Mapping, TypeVar
32+
from typing import Literal, TypeVar
3233

3334
from PIL import Image, ImageCms
3435

pyproject.toml

+2-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ classifiers = [
1818
"Operating System :: POSIX :: Linux",
1919
"Programming Language :: Python",
2020
"Programming Language :: Python :: 3",
21-
"Programming Language :: Python :: 3.8",
2221
"Programming Language :: Python :: 3.9",
2322
"Programming Language :: Python :: 3.10",
2423
"Programming Language :: Python :: 3.11",
@@ -27,7 +26,7 @@ classifiers = [
2726
"Topic :: Scientific/Engineering :: Bio-Informatics",
2827
"Typing :: Typed",
2928
]
30-
requires-python = ">= 3.8"
29+
requires-python = ">= 3.9"
3130
dependencies = ["Pillow"]
3231
dynamic = ["version"]
3332

@@ -49,7 +48,7 @@ openslide = ["py.typed", "*.pyi"]
4948

5049
[tool.black]
5150
skip-string-normalization = true
52-
target-version = ["py38", "py39", "py310", "py311", "py312", "py313"]
51+
target-version = ["py39", "py310", "py311", "py312", "py313"]
5352

5453
# Ref: https://github.com/codespell-project/codespell#using-a-config-file
5554
[tool.codespell]

0 commit comments

Comments
 (0)