Skip to content

Commit 4f19590

Browse files
packaging: Dropped support for Python 3.9
1 parent 699636e commit 4f19590

File tree

11 files changed

+75
-575
lines changed

11 files changed

+75
-575
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
kind: Packaging
2+
body: Dropped support for Python 3.9
3+
time: 2025-09-10T21:08:56.618511-06:00
4+
custom:
5+
Issue: "1503"

.github/ISSUE_TEMPLATE/BUG.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ body:
2828
- "3.12"
2929
- "3.11"
3030
- "3.10"
31-
- "3.9"
32-
- "3.8 or earlier"
31+
- "3.9 or earlier"
3332
- "NA"
3433
validations:
3534
required: true

.github/workflows/tests.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,6 @@ jobs:
8181
- python-version: "3.10"
8282
os: ubuntu-24.04
8383

84-
- python-version: "3.9"
85-
os: ubuntu-24.04
86-
8784
- python-version: "pypy3.11"
8885
os: ubuntu-24.04
8986

@@ -206,10 +203,6 @@ jobs:
206203
image_tag: ${{ fromJson(needs.docker_tags.outputs.tags) }}
207204
include:
208205
# Test on other Python versions
209-
- python-version: "3.9"
210-
image_tag: "6-apache"
211-
database: postgres
212-
213206
- python-version: "3.10"
214207
image_tag: "6-apache"
215208
database: postgres

docs/contributing/docs.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,4 @@ documentation site and watch the repo for changes:
77
nox -rs docs-serve
88
```
99

10-
```{note}
11-
Python 3.9+ is required to build the documentation.
12-
```
13-
1410
[environment]: /contributing/environment

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,14 @@ maintainers = [
2121
authors = [
2222
{ name = "Edgar Ramírez-Mondragón", email = "[email protected]" },
2323
]
24-
requires-python = ">=3.9"
24+
requires-python = ">=3.10"
2525
classifiers = [
2626
"Development Status :: 5 - Production/Stable",
2727
"Intended Audience :: Developers",
2828
"Intended Audience :: Information Technology",
2929
"Intended Audience :: Science/Research",
3030
"Intended Audience :: System Administrators",
3131
"Programming Language :: Python :: 3 :: Only",
32-
"Programming Language :: Python :: 3.9",
3332
"Programming Language :: Python :: 3.10",
3433
"Programming Language :: Python :: 3.11",
3534
"Programming Language :: Python :: 3.12",

scripts/docker_tags.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# /// script
22
# dependencies = ["requests", "requests-cache"]
3-
# requires-python = ">=3.9"
3+
# requires-python = ">=3.10"
44
# ///
55

66
"""Get all tags from the Docker Hub."""

src/citric/method.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
from __future__ import annotations
44

5-
from typing import Any, Callable, Generic, TypeVar
5+
from typing import TYPE_CHECKING, Any, Generic, TypeVar
6+
7+
if TYPE_CHECKING:
8+
from collections.abc import Callable
69

710
__all__ = ["Method"]
811

src/citric/types.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,10 @@
44

55
import io
66
import sys
7-
from typing import Any, Literal, TypedDict
7+
from typing import Any, Literal, TypeAlias, TypedDict
88

99
from citric import enums
1010

11-
if sys.version_info >= (3, 10):
12-
from typing import TypeAlias
13-
else:
14-
from typing_extensions import TypeAlias
15-
1611
if sys.version_info >= (3, 11):
1712
from typing import Required
1813
else:

tests/integration/test_rpc_client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -635,7 +635,7 @@ def test_participants(
635635
participant_data=participants,
636636
create_tokens=False,
637637
)
638-
for p, d in zip(added, participants):
638+
for p, d in zip(added, participants, strict=False):
639639
with subtests.test(msg="test new participants properties", token=d["token"]):
640640
assert p["email"] == d["email"]
641641
assert p["firstname"] == d["firstname"]
@@ -652,7 +652,7 @@ def test_participants(
652652
assert len(participants_list) == 2
653653

654654
# Check added participant properties
655-
for ple, d in zip(participants_list, participants[:2]):
655+
for ple, d in zip(participants_list, participants[:2], strict=False):
656656
with subtests.test(msg="test new participants properties", token=ple["tid"]):
657657
assert ple["participant_info"]["email"] == d["email"]
658658
assert ple["participant_info"]["firstname"] == d["firstname"]
@@ -661,7 +661,7 @@ def test_participants(
661661
assert ple["attribute_2"] == d["attribute_2"] # type: ignore[typeddict-item]
662662

663663
# Get participant properties
664-
for p, d in zip(added, participants[:2]):
664+
for p, d in zip(added, participants[:2], strict=False):
665665
with subtests.test(msg="test updated participants properties", token=p["tid"]):
666666
properties = client.get_participant_properties(survey_id, p["tid"])
667667
assert properties["email"] == d["email"]

tests/test_rest.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from __future__ import annotations
44

55
import json
6-
from typing import TYPE_CHECKING, Callable
6+
from typing import TYPE_CHECKING
77

88
import pytest
99
import tinydb
@@ -15,17 +15,12 @@
1515
from citric.rest import RESTClient
1616

1717
if TYPE_CHECKING:
18-
import sys
19-
from collections.abc import Generator
18+
from collections.abc import Callable, Generator
19+
from typing import TypeAlias
2020

2121
from pytest_httpserver import HTTPServer
2222
from werkzeug.wrappers import Request
2323

24-
if sys.version_info >= (3, 10):
25-
from typing import TypeAlias
26-
else:
27-
from typing_extensions import TypeAlias
28-
2924
APIHandler: TypeAlias = Callable[[Request], Response]
3025

3126

0 commit comments

Comments
 (0)