Skip to content

Commit 9da7cbd

Browse files
committed
chore: adjust supported Python versions
1 parent 486ff1d commit 9da7cbd

7 files changed

Lines changed: 35 additions & 53 deletions

File tree

‎.github/workflows/code-quality.yaml‎

Lines changed: 24 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -8,49 +8,12 @@ on:
88
- synchronize
99

1010
jobs:
11-
legacy-python-3-6:
11+
linux:
1212
runs-on: ubuntu-24.04
13-
container: ubuntu:20.04
14-
steps:
15-
- uses: actions/checkout@v7
16-
- name: Set up Python 3.6
17-
uses: actions/setup-python@v7
18-
with:
19-
python-version: "3.6"
20-
- name: Display Python version
21-
run: python -c "import sys; print(sys.version)"
22-
- name: Install dependencies
23-
run: |
24-
python -m pip install --upgrade pip
25-
python -m pip install flake8 pytest pytest-mock
26-
python -m pip install -r requirements.txt
27-
python -m pip install --no-deps .
28-
- name: Lint with flake8
29-
run: python -m flake8 .
30-
- name: Test with pytest
31-
run: python -m pytest
32-
33-
build:
34-
runs-on: ${{ matrix.runner }}
3513
strategy:
14+
fail-fast: false
3615
matrix:
37-
include:
38-
- python-version: "3.7"
39-
runner: ubuntu-22.04
40-
- python-version: "3.8"
41-
runner: ubuntu-24.04
42-
- python-version: "3.9"
43-
runner: ubuntu-24.04
44-
- python-version: "3.10"
45-
runner: ubuntu-24.04
46-
- python-version: "3.11"
47-
runner: ubuntu-24.04
48-
- python-version: "3.12"
49-
runner: ubuntu-24.04
50-
- python-version: "3.13"
51-
runner: ubuntu-24.04
52-
- python-version: "3.14"
53-
runner: ubuntu-24.04
16+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
5417

5518
steps:
5619
- uses: actions/checkout@v7
@@ -94,6 +57,27 @@ jobs:
9457
--bootstrap tests/fbclient_test_data.json \
9558
--expected-version-file release/package.json
9659
60+
windows:
61+
runs-on: windows-latest
62+
strategy:
63+
fail-fast: false
64+
matrix:
65+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
66+
steps:
67+
- uses: actions/checkout@v7
68+
- name: Set up Python ${{ matrix.python-version }}
69+
uses: actions/setup-python@v7
70+
with:
71+
python-version: ${{ matrix.python-version }}
72+
- name: Install dependencies
73+
run: |
74+
python -m pip install --upgrade pip
75+
python -m pip install pytest pytest-mock
76+
python -m pip install -r requirements.txt
77+
python -m pip install --no-deps .
78+
- name: Test with pytest
79+
run: python -m pytest
80+
9781
minimum-dependencies:
9882
runs-on: ubuntu-24.04
9983
steps:

‎README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ If you want to use your own data source, see [Offline Mode](#offline-mode).
1818
## Get Started
1919

2020
### Installation
21-
Install the SDK using pip. This version is compatible with Python 3.6 through 3.14.
22-
CI is configured to test compatibility through Python 3.14, including the
23-
full unit suite and SDK resource-lifecycle audit.
21+
Install the SDK using pip. This version is compatible with Python 3.10 through 3.14.
22+
CI is configured to test compatibility on Linux and Windows through Python 3.14,
23+
including the full unit suite and SDK resource-lifecycle audit.
2424
Free-threaded CPython 3.14 builds are not currently tested or supported.
2525

2626
```shell

‎dev-requirements.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
certifi>=2018.4.16
2-
urllib3>=1.26.5
2+
urllib3>=1.26.5,<3
33
websocket-client>=1.0.0
44
python-dateutil>=2.8.2
55
flake8

‎release/description.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ version: 1.1.9
1717
## Updates
1818

1919
- support and test CPython versions 3.13 and 3.14
20-
- require urllib3 1.26.5 or newer for CPython 3.14 compatibility
20+
- align the supported Python range with 3.10 through 3.14
21+
- require urllib3 1.26.5 or newer and lower than 3
2122
- handle Python versions 3.12.x
2223
- make client, WebSocket, event, and notice shutdown deterministic and idempotent
2324
- isolate runtime event and shutdown failures from application code

‎requirements.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
certifi>=2018.4.16
2-
urllib3>=1.26.5
2+
urllib3>=1.26.5,<3
33
python-dateutil>=2.8.2
44
websocket-client>=1.0.0

‎scripts/wheel_smoke.py‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,12 @@ def assert_metadata(expected_version):
4848
assert distribution.version == expected_version
4949

5050
package_metadata = distribution.metadata
51-
assert package_metadata["Requires-Python"] == ">=3.6, <3.15"
51+
assert package_metadata["Requires-Python"] == ">=3.10, <3.15"
5252
classifiers = package_metadata.get_all("Classifier") or []
53+
assert "Programming Language :: Python :: 3.10" in classifiers
5354
assert "Programming Language :: Python :: 3.14" in classifiers
5455
requirements = distribution.requires or []
55-
assert any(requirement.startswith("urllib3>=1.26.5") for requirement in requirements)
56+
assert any(requirement.startswith("urllib3<3,>=1.26.5") for requirement in requirements)
5657
return distribution.version
5758

5859

‎setup.py‎

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,6 @@ def parse_requirements(filename):
4444
'Operating System :: OS Independent',
4545
'Topic :: Software Development',
4646
'Topic :: Software Development :: Libraries',
47-
'Programming Language :: Python :: 3.6',
48-
'Programming Language :: Python :: 3.7',
49-
'Programming Language :: Python :: 3.8',
50-
'Programming Language :: Python :: 3.9',
5147
'Programming Language :: Python :: 3.10',
5248
'Programming Language :: Python :: 3.11',
5349
'Programming Language :: Python :: 3.12',
@@ -57,5 +53,5 @@ def parse_requirements(filename):
5753
extras_require={
5854
"dev": dev_reqs
5955
},
60-
python_requires='>=3.6, <3.15'
56+
python_requires='>=3.10, <3.15'
6157
)

0 commit comments

Comments
 (0)