Skip to content

Commit c5a3bb8

Browse files
committed
chore: drop Python 3.10 support
1 parent bc25655 commit c5a3bb8

12 files changed

Lines changed: 52 additions & 283 deletions

File tree

‎.github/workflows/tests.yaml‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ jobs:
2828
- '3.13'
2929
- '3.12'
3030
- '3.11'
31-
- '3.10'
3231
steps:
3332
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3433
- name: Install uv

‎.pre-commit-config.yaml‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,4 @@ repos:
2626
rev: 57b21406f092110c18776e39b0bda50d37c945c8 # frozen: v2.4.3
2727
hooks:
2828
- id: codespell
29-
language: python
30-
additional_dependencies:
31-
- tomli==2.4.1
3229
args: [--write-changes]

‎doc/changelog.rst‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
Changelog
22
=========
33

4+
[Unreleased]
5+
------------
6+
7+
Changed
8+
^^^^^^^
9+
- Python 3.11 is now the minimum supported version.
10+
411
[0.9.0] - 2026-09-21
512
--------------------
613

‎pyproject.toml‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ keywords = ["scim", "scim2", "provisioning", "rfc7643", "rfc7644", "httpx2", "ap
1313
classifiers = [
1414
"Intended Audience :: Developers",
1515
"Development Status :: 3 - Alpha",
16-
"Programming Language :: Python :: 3.10",
1716
"Programming Language :: Python :: 3.11",
1817
"Programming Language :: Python :: 3.12",
1918
"Programming Language :: Python :: 3.13",
@@ -25,7 +24,7 @@ classifiers = [
2524
"Operating System :: OS Independent",
2625
]
2726

28-
requires-python = ">= 3.10"
27+
requires-python = ">= 3.11"
2928
dependencies = [
3029
"scim2-models>=0.8.0",
3130
]
@@ -139,7 +138,6 @@ asyncio_default_fixture_loop_scope = "function"
139138
requires = ["tox>=4.19"]
140139
env_list = [
141140
"style",
142-
"py310",
143141
"py311",
144142
"py312",
145143
"py313",

‎scim2_client/client.py‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import asyncio
22
import json
3-
import sys
43
import warnings
54
from collections.abc import Callable
65
from collections.abc import Collection
@@ -718,8 +717,7 @@ def check_response(
718717
result = actual_type.model_validate(response_payload, scim_ctx=scim_ctx)
719718
except ValidationError as exc:
720719
scim_exc = ResponsePayloadValidationException()
721-
if sys.version_info >= (3, 11): # pragma: no cover
722-
scim_exc.add_note(str(exc))
720+
scim_exc.add_note(str(exc))
723721
raise scim_exc from exc
724722

725723
self._set_version_from_etag(result, headers)

‎scim2_client/engines/httpx2.py‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import json
2-
import sys
32
from contextlib import contextmanager
43
from typing import TypeVar
54

@@ -35,8 +34,7 @@ def handle_request_error(payload=None):
3534

3635
except RequestError as exc:
3736
scim_network_exc = RequestNetworkException(source=payload)
38-
if sys.version_info >= (3, 11): # pragma: no cover
39-
scim_network_exc.add_note(str(exc))
37+
scim_network_exc.add_note(str(exc))
4038
raise scim_network_exc from exc
4139

4240

‎scim2_client/errors.py‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import sys
21
from typing import Any
32

43
from pydantic import ValidationError
@@ -136,6 +135,5 @@ def request_validation_exception(
136135
"""
137136
errors = Error.from_validation_errors(exc)
138137
scim_exc = SCIMException.from_error(errors[0], scim_ctx=scim_ctx)
139-
if sys.version_info >= (3, 11): # pragma: no cover
140-
scim_exc.add_note(str(exc))
138+
scim_exc.add_note(str(exc))
141139
return scim_exc

‎tests/test_create.py‎

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,9 @@ def test_create_user(httpserver, sync_client):
3838
user_name="bjensen@example.com",
3939
meta=Meta(
4040
resource_type="User",
41-
created=datetime.datetime(
42-
2010, 1, 23, 4, 56, 22, tzinfo=datetime.timezone.utc
43-
),
41+
created=datetime.datetime(2010, 1, 23, 4, 56, 22, tzinfo=datetime.UTC),
4442
last_modified=datetime.datetime(
45-
2011, 5, 13, 4, 42, 34, tzinfo=datetime.timezone.utc
43+
2011, 5, 13, 4, 42, 34, tzinfo=datetime.UTC
4644
),
4745
version='W/"3694e05e9dff590"',
4846
location="https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646",
@@ -81,11 +79,9 @@ def test_create_dict_user(httpserver, sync_client):
8179
user_name="bjensen@example.com",
8280
meta=Meta(
8381
resource_type="User",
84-
created=datetime.datetime(
85-
2010, 1, 23, 4, 56, 22, tzinfo=datetime.timezone.utc
86-
),
82+
created=datetime.datetime(2010, 1, 23, 4, 56, 22, tzinfo=datetime.UTC),
8783
last_modified=datetime.datetime(
88-
2011, 5, 13, 4, 42, 34, tzinfo=datetime.timezone.utc
84+
2011, 5, 13, 4, 42, 34, tzinfo=datetime.UTC
8985
),
9086
version='W/"3694e05e9dff590"',
9187
location="https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646",

‎tests/test_query.py‎

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -305,11 +305,9 @@ def test_user_with_valid_id(sync_client):
305305
user_name="bjensen@example.com",
306306
meta=Meta(
307307
resource_type="User",
308-
created=datetime.datetime(
309-
2010, 1, 23, 4, 56, 22, tzinfo=datetime.timezone.utc
310-
),
308+
created=datetime.datetime(2010, 1, 23, 4, 56, 22, tzinfo=datetime.UTC),
311309
last_modified=datetime.datetime(
312-
2011, 5, 13, 4, 42, 34, tzinfo=datetime.timezone.utc
310+
2011, 5, 13, 4, 42, 34, tzinfo=datetime.UTC
313311
),
314312
version='W/"3694e05e9dff590"',
315313
location="https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646",
@@ -378,10 +376,10 @@ def test_all_users(sync_client):
378376
meta=Meta(
379377
resource_type="User",
380378
created=datetime.datetime(
381-
2010, 1, 23, 4, 56, 22, tzinfo=datetime.timezone.utc
379+
2010, 1, 23, 4, 56, 22, tzinfo=datetime.UTC
382380
),
383381
last_modified=datetime.datetime(
384-
2011, 5, 13, 4, 42, 34, tzinfo=datetime.timezone.utc
382+
2011, 5, 13, 4, 42, 34, tzinfo=datetime.UTC
385383
),
386384
version='W/"3694e05e9dff590"',
387385
location="https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646",
@@ -393,10 +391,10 @@ def test_all_users(sync_client):
393391
meta=Meta(
394392
resource_type="User",
395393
created=datetime.datetime(
396-
2010, 2, 23, 4, 56, 22, tzinfo=datetime.timezone.utc
394+
2010, 2, 23, 4, 56, 22, tzinfo=datetime.UTC
397395
),
398396
last_modified=datetime.datetime(
399-
2011, 6, 13, 4, 42, 34, tzinfo=datetime.timezone.utc
397+
2011, 6, 13, 4, 42, 34, tzinfo=datetime.UTC
400398
),
401399
version='W/"deadbeef0000"',
402400
location="https://example.com/v2/Users/074860c7-70e9-4db5-ad40-a32bab8be11d",
@@ -414,11 +412,9 @@ def test_custom_url(sync_client):
414412
user_name="bjensen@example.com",
415413
meta=Meta(
416414
resource_type="User",
417-
created=datetime.datetime(
418-
2010, 1, 23, 4, 56, 22, tzinfo=datetime.timezone.utc
419-
),
415+
created=datetime.datetime(2010, 1, 23, 4, 56, 22, tzinfo=datetime.UTC),
420416
last_modified=datetime.datetime(
421-
2011, 5, 13, 4, 42, 34, tzinfo=datetime.timezone.utc
417+
2011, 5, 13, 4, 42, 34, tzinfo=datetime.UTC
422418
),
423419
version='W/"3694e05e9dff590"',
424420
location="https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646",

‎tests/test_replace.py‎

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,9 @@ def test_replace_user(httpserver, sync_client):
3838
user_name="bjensen@example.com",
3939
meta=Meta(
4040
resource_type="User",
41-
created=datetime.datetime(
42-
2010, 1, 23, 4, 56, 22, tzinfo=datetime.timezone.utc
43-
),
41+
created=datetime.datetime(2010, 1, 23, 4, 56, 22, tzinfo=datetime.UTC),
4442
last_modified=datetime.datetime(
45-
2011, 5, 13, 4, 42, 34, tzinfo=datetime.timezone.utc
43+
2011, 5, 13, 4, 42, 34, tzinfo=datetime.UTC
4644
),
4745
version='W/"3694e05e9dff590"',
4846
location="https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646",
@@ -79,11 +77,9 @@ def test_replace_user_dict(httpserver, sync_client):
7977
user_name="bjensen@example.com",
8078
meta=Meta(
8179
resource_type="User",
82-
created=datetime.datetime(
83-
2010, 1, 23, 4, 56, 22, tzinfo=datetime.timezone.utc
84-
),
80+
created=datetime.datetime(2010, 1, 23, 4, 56, 22, tzinfo=datetime.UTC),
8581
last_modified=datetime.datetime(
86-
2011, 5, 13, 4, 42, 34, tzinfo=datetime.timezone.utc
82+
2011, 5, 13, 4, 42, 34, tzinfo=datetime.UTC
8783
),
8884
version='W/"3694e05e9dff590"',
8985
location="https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646",
@@ -137,11 +133,9 @@ def test_dont_check_response_payload(httpserver, sync_client):
137133
user_name="bjensen@example.com",
138134
meta=Meta(
139135
resource_type="User",
140-
created=datetime.datetime(
141-
2010, 1, 23, 4, 56, 22, tzinfo=datetime.timezone.utc
142-
),
136+
created=datetime.datetime(2010, 1, 23, 4, 56, 22, tzinfo=datetime.UTC),
143137
last_modified=datetime.datetime(
144-
2011, 5, 13, 4, 42, 34, tzinfo=datetime.timezone.utc
138+
2011, 5, 13, 4, 42, 34, tzinfo=datetime.UTC
145139
),
146140
version='W/"3694e05e9dff590"',
147141
location="https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646",
@@ -220,11 +214,9 @@ def test_errors(httpserver, code, sync_client):
220214
user_name="bjensen@example.com",
221215
meta=Meta(
222216
resource_type="User",
223-
created=datetime.datetime(
224-
2010, 1, 23, 4, 56, 22, tzinfo=datetime.timezone.utc
225-
),
217+
created=datetime.datetime(2010, 1, 23, 4, 56, 22, tzinfo=datetime.UTC),
226218
last_modified=datetime.datetime(
227-
2011, 5, 13, 4, 42, 34, tzinfo=datetime.timezone.utc
219+
2011, 5, 13, 4, 42, 34, tzinfo=datetime.UTC
228220
),
229221
version='W/"3694e05e9dff590"',
230222
location="https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646",
@@ -265,11 +257,9 @@ def test_user_with_no_id(httpserver, sync_client):
265257
user_name="bjensen@example.com",
266258
meta=Meta(
267259
resource_type="User",
268-
created=datetime.datetime(
269-
2010, 1, 23, 4, 56, 22, tzinfo=datetime.timezone.utc
270-
),
260+
created=datetime.datetime(2010, 1, 23, 4, 56, 22, tzinfo=datetime.UTC),
271261
last_modified=datetime.datetime(
272-
2011, 5, 13, 4, 42, 34, tzinfo=datetime.timezone.utc
262+
2011, 5, 13, 4, 42, 34, tzinfo=datetime.UTC
273263
),
274264
version='W/"3694e05e9dff590"',
275265
location="https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646",

0 commit comments

Comments
 (0)