Skip to content

Commit c70c83d

Browse files
Update project to require Python 3.10 (#11)
Deprecate support for Python 3.9 and update configurations and documentation to reflect the new requirement for Python 3.10 or higher.
2 parents 63b95d2 + 3a88d18 commit c70c83d

File tree

8 files changed

+11
-19
lines changed

8 files changed

+11
-19
lines changed

.github/workflows/continuous_integration.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ jobs:
3939
strategy:
4040
fail-fast: false
4141
matrix:
42-
python-version: [3.9, 3.13]
42+
python-version: ["3.10", "3.14"]
4343
include-extras: [true]
4444
include:
45-
- python-version: 3.9
45+
- python-version: "3.10"
4646
include-extras: false
4747

4848
steps:

.python-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.9
1+
3.10

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file.
55

66
## [0.8.0]
77
- 🆕 Used integration with toolit to make snappylapy commands available for AI coding assistants
8+
- ❗Deprecated support for Python 3.9. Snappylapy now requires Python 3.10 or higher. Add python 3.14 to the test matrix.
89

910
## [0.7.0] - 2025-08-27
1011
- 🆕 Added csv serializer for pandas dataframes for making the deserialization work on windows and make a more suitable and human readable format.

pyproject.toml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ classifiers = [
1414
"Topic :: Software Development :: Testing",
1515
"Operating System :: OS Independent",
1616
"Programming Language :: Python",
17-
"Programming Language :: Python :: 3.9",
1817
"Programming Language :: Python :: 3.10",
1918
"Programming Language :: Python :: 3.11",
2019
"Programming Language :: Python :: 3.12",
@@ -37,7 +36,6 @@ dependencies = [
3736
"pytest>=7.0",
3837
"jsonpickle>=1.0",
3938
"typer",
40-
"typing-extensions ; python_full_version == '3.9.*'",
4139
"levenshtein>=0.27.1",
4240
"toolit>=0.5.0",
4341
]

ruff.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
line-length = 120
33
indent-width = 4
44

5-
# Assume Python 3.9
6-
target-version = "py39"
5+
# Assume Python 3.10
6+
target-version = "py310"
77
output-format = "concise"
88

99
[lint]

snappylapy/expectation_classes/expect_dataframe.py

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

33
from __future__ import annotations
44

5-
import sys
65
from .base_snapshot import BaseSnapshot
6+
from collections.abc import Callable
77
from functools import wraps
88
from snappylapy.serialization import PandasCsvSerializer
9-
from typing import TYPE_CHECKING, Any, Callable, TypeVar, cast
10-
11-
if sys.version_info >= (3, 10):
12-
from typing import TypeAlias
13-
else:
14-
from typing_extensions import TypeAlias
9+
from typing import TYPE_CHECKING, Any, TypeAlias, TypeVar, cast
1510

1611
if TYPE_CHECKING:
1712
import pandas as pd

tox.ini

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
; tox==3.28.0
33
; tox-conda==0.10.2
44
[tox]
5-
envlist = py39-pytest{3x,4x,5x,6x,7x,8x},py39-jsonpickle{2x,3x,4x}
5+
envlist = py310-pytest{3x,4x,5x,6x,7x,8x},py310-jsonpickle{2x,3x,4x}
66

77
[testenv]
88
description = run the tests with pytest
@@ -24,5 +24,5 @@ commands =
2424
poetry run pytest
2525
poetry run mypy snappylapy
2626

27-
[testenv:py39]
28-
basepython = python3.9
27+
[testenv:py310]
28+
basepython = python3.10

uv.lock

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

0 commit comments

Comments
 (0)