Skip to content

Commit 3f14e94

Browse files
committed
Drop Python 3.8/3.9 support
Minimum is now Python 3.10. Refreshes CI matrices, docs, and stale 3.9 references (the docker/gRPC-fork test workarounds stay — that race still hits 3.10+).
1 parent c6bb81f commit 3f14e94

14 files changed

Lines changed: 20 additions & 19 deletions

.github/workflows/python-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
- name: Set up Python
4343
uses: actions/setup-python@v3
4444
with:
45-
python-version: '3.8'
45+
python-version: '3.10'
4646

4747
- name: Install dependencies
4848
run: |

.github/workflows/style.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
max-parallel: 4
1414
matrix:
15-
python-version: [3.9]
15+
python-version: ["3.10"]
1616
environment: [style, black, mypy]
1717

1818
steps:

.github/workflows/tests.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
20+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
2121
protobuf-version: [proto3, proto4, proto5, proto6]
2222
exclude:
2323
# protobuf 4.x cannot be imported on Python 3.14: its C extension uses
@@ -51,7 +51,7 @@ jobs:
5151
strategy:
5252
fail-fast: false
5353
matrix:
54-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
54+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
5555

5656
steps:
5757
- uses: actions/checkout@v4

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ source .venv/bin/activate && tox -e py -- tests/path/to/test_file.py -v
7070
4. **No new dependencies** — the current dependency set is intentionally minimal.
7171
5. **No excessive comments** — do not comment self-evident code.
7272
6. **English only** — code, comments, docstrings, commit messages.
73-
7. **Python 3.8+** — do not use language or stdlib features beyond that baseline.
73+
7. **Python 3.10+** — do not use language or stdlib features beyond that baseline.
7474

7575
## CHANGELOG
7676

BUILD.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ This document has detailed instructions on how to build ydb-python-sdk from sour
55
### Pre-requisites
66

77
- Install [Docker](https://docs.docker.com/engine/install/).
8-
- Install [Python](https://docs.python.org/3.8/)
8+
- Install [Python](https://docs.python.org/3.10/)
99
- Install [pip](https://pip.pypa.io/en/latest/installation/)
1010
- Install [Tox](https://tox.wiki/en/latest/installation.html)
1111

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
* Drop support for Python 3.8 and 3.9; the minimum supported version is now Python 3.10
12
* Accept native `datetime.datetime` values for `Datetime` and `Datetime64` query parameters (previously only integer seconds since the epoch were accepted)
23

34
## 3.29.7 ##

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Officially supported Python client for YDB.
1919

2020
### Prerequisites
2121

22-
- Python 3.8 or higher
22+
- Python 3.10 or higher
2323
- `pip` version 9.0.1 or higher
2424

2525
If necessary, upgrade your version of `pip`:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
line-length = 120
33

44
[tool.mypy]
5-
python_version = "3.9"
5+
python_version = "3.10"
66
warn_unused_configs = true
77
warn_redundant_casts = true
88
strict_equality = true

setup.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,13 @@
2525
packages=setuptools.find_packages("."),
2626
classifiers=[
2727
"Programming Language :: Python :: 3",
28-
"Programming Language :: Python :: 3.8",
29-
"Programming Language :: Python :: 3.9",
3028
"Programming Language :: Python :: 3.10",
3129
"Programming Language :: Python :: 3.11",
3230
"Programming Language :: Python :: 3.12",
3331
"Programming Language :: Python :: 3.13",
3432
"Programming Language :: Python :: 3 :: Only",
3533
],
34+
python_requires=">=3.10",
3635
install_requires=requirements, # requirements.txt
3736
options={"bdist_wheel": {"universal": True}},
3837
extras_require={

test-requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
attrs==21.2.0
22
bcrypt==3.2.0
3-
black==25.11.0; python_version >= "3.9"
3+
black==25.11.0
44
cached-property==1.5.2
55
certifi==2024.7.4
66
cffi>=1.17.0

0 commit comments

Comments
 (0)