Skip to content

Commit 2163c62

Browse files
authored
Drop Python 3.9 support (#697)
It reached EOL on 2025-10-31: https://peps.python.org/pep-0596/#lifespan.
1 parent 5301bcc commit 2163c62

File tree

8 files changed

+18
-140
lines changed

8 files changed

+18
-140
lines changed

.github/ISSUE_TEMPLATE/issue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ body:
66
attributes:
77
label: Python Version
88
description: Which version of Python were you using?
9-
placeholder: 3.9.0
9+
placeholder: 3.14.0
1010
validations:
1111
required: false
1212
- type: input

.github/workflows/main.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ jobs:
2020
strategy:
2121
matrix:
2222
python-version:
23-
- '3.9'
2423
- '3.10'
2524
- '3.11'
2625
- '3.12'

CHANGELOG.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
Changelog
33
=========
44

5+
* Drop Python 3.9 support.
6+
57
4.0.1 (2025-09-12)
68
------------------
79

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ Install with:
111111
112112
python -m pip install pytest-randomly
113113
114-
Python 3.9 to 3.14 supported.
114+
Python 3.10 to 3.14 supported.
115115

116116
Usage
117117
=====

pyproject.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,13 @@ license-files = [ "LICENSE" ]
2121
authors = [
2222
{ name = "Adam Johnson", email = "[email protected]" },
2323
]
24-
requires-python = ">=3.9"
24+
requires-python = ">=3.10"
2525
classifiers = [
2626
"Development Status :: 5 - Production/Stable",
2727
"Framework :: Pytest",
2828
"Intended Audience :: Developers",
2929
"Natural Language :: English",
3030
"Programming Language :: Python :: 3 :: Only",
31-
"Programming Language :: Python :: 3.9",
3231
"Programming Language :: Python :: 3.10",
3332
"Programming Language :: Python :: 3.11",
3433
"Programming Language :: Python :: 3.12",
@@ -37,7 +36,6 @@ classifiers = [
3736
"Typing :: Typed",
3837
]
3938
dependencies = [
40-
"importlib-metadata>=3.6; python_version<'3.10'",
4139
"pytest",
4240
]
4341
urls.Changelog = "https://github.com/pytest-dev/pytest-randomly/blob/main/CHANGELOG.rst"
@@ -50,7 +48,6 @@ test = [
5048
"coverage[toml]",
5149
"factory-boy",
5250
"faker",
53-
"importlib-metadata>=3.6; python_version<'3.10'",
5451
"model-bakery>=1.13",
5552
"numpy",
5653
"pytest",

src/pytest_randomly/__init__.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22

33
import argparse
44
import random
5-
import sys
5+
from collections.abc import Callable
66
from functools import lru_cache
7+
from importlib.metadata import entry_points
78
from itertools import groupby
89
from types import ModuleType
9-
from typing import Any, Callable, TypeVar
10+
from typing import Any, TypeVar
1011
from zlib import crc32
1112

1213
from _pytest.config import Config
@@ -15,11 +16,6 @@
1516
from _pytest.nodes import Item
1617
from pytest import Collector, fixture, hookimpl
1718

18-
if sys.version_info < (3, 10):
19-
from importlib_metadata import entry_points
20-
else:
21-
from importlib.metadata import entry_points
22-
2319
# factory-boy
2420
try:
2521
from factory.random import set_random_state as factory_set_random_state

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
requires =
33
tox>=4.2
44
env_list =
5-
py{314, 313, 312, 311, 310, 39}
5+
py{314, 313, 312, 311, 310}
66

77
[testenv]
88
runner = uv-venv-lock-runner

uv.lock

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

0 commit comments

Comments
 (0)