Skip to content

Commit d8ce5bd

Browse files
authored
Merge pull request #140 from oslokommune/python3.14
Add support for Python 3.14
2 parents 474bd65 + c700ac6 commit d8ce5bd

10 files changed

Lines changed: 30 additions & 26 deletions

File tree

.github/workflows/continous-integration.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ jobs:
1111
runs-on: ubuntu-latest
1212
strategy:
1313
matrix:
14-
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
14+
python: ['3.10', '3.11', '3.12', '3.13', '3.14']
1515
steps:
1616
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
1717
- name: Set up Python ${{ matrix.python }}
18-
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
18+
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
1919
with:
2020
python-version: ${{ matrix.python }}
2121
- name: Install dependencies

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## ?.?.? - Unreleased
2+
3+
* Added support for Python 3.14.
4+
* Dropped support for Python 3.9 which has reached end of life. Python 3.10+ is
5+
now required.
6+
17
## 3.4.0 - 2025-09-08
28

39
* Fixed binary file downloads.

mypy.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
[mypy]
22
namespace_packages = True
3+
ignore_missing_imports = True

okdata/sdk/data/download.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from okdata.sdk import SDK
55
from okdata.sdk.io_utils import write_file_content
66

7-
87
log = logging.getLogger()
98

109

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tool.black]
2-
target-version = ["py39", "py310", "py311", "py312", "py313"]
2+
target-version = ["py310", "py311", "py312", "py313", "py314"]
33
# Keep exclude in sync with flake8 config in tox.ini
44
exclude = '''
55
/(

requirements.txt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,53 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.13
2+
# This file is autogenerated by pip-compile with Python 3.14
33
# by the following command:
44
#
55
# pip-compile
66
#
7-
attrs==24.2.0
7+
attrs==25.4.0
88
# via
99
# jsonschema
1010
# referencing
11-
certifi==2024.8.30
11+
certifi==2026.1.4
1212
# via requests
13-
cffi==1.17.1
13+
cffi==2.0.0
1414
# via cryptography
15-
charset-normalizer==3.4.0
15+
charset-normalizer==3.4.4
1616
# via requests
17-
cryptography==44.0.1
17+
cryptography==46.0.3
1818
# via jwcrypto
1919
deprecation==2.1.0
2020
# via python-keycloak
21-
idna==3.10
21+
idna==3.11
2222
# via requests
23-
jsonschema==4.23.0
23+
jsonschema==4.26.0
2424
# via okdata-sdk (setup.py)
25-
jsonschema-specifications==2024.10.1
25+
jsonschema-specifications==2025.9.1
2626
# via jsonschema
2727
jwcrypto==1.5.6
2828
# via python-keycloak
29-
packaging==24.1
29+
packaging==25.0
3030
# via deprecation
31-
pycparser==2.22
31+
pycparser==2.23
3232
# via cffi
3333
python-keycloak==3.12.0
3434
# via okdata-sdk (setup.py)
35-
referencing==0.35.1
35+
referencing==0.37.0
3636
# via
3737
# jsonschema
3838
# jsonschema-specifications
39-
requests==2.32.4
39+
requests==2.32.5
4040
# via
4141
# okdata-sdk (setup.py)
4242
# python-keycloak
4343
# requests-toolbelt
4444
requests-toolbelt==1.0.0
4545
# via python-keycloak
46-
rpds-py==0.20.0
46+
rpds-py==0.30.0
4747
# via
4848
# jsonschema
4949
# referencing
50-
typing-extensions==4.12.2
50+
typing-extensions==4.15.0
5151
# via jwcrypto
5252
urllib3==2.6.3
5353
# via

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@
3939
include_package_data=True,
4040
classifiers=[
4141
"Development Status :: 5 - Production/Stable",
42-
"Programming Language :: Python :: 3.9",
4342
"Programming Language :: Python :: 3.10",
4443
"Programming Language :: Python :: 3.11",
4544
"Programming Language :: Python :: 3.12",
4645
"Programming Language :: Python :: 3.13",
46+
"Programming Language :: Python :: 3.14",
4747
"License :: OSI Approved :: MIT License",
4848
"Operating System :: OS Independent",
4949
],
50-
python_requires=">=3.9",
50+
python_requires=">=3.10",
5151
zip_safe=False,
5252
)

tests/auth/client_credentials_test_utils.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
from datetime import datetime
33
from dateutil import parser
44

5-
65
utc_now = parser.parse("2019-11-01T10:00:30+00:00")
76
not_expired_time = parser.parse("2019-11-01T10:00:41+00:00")
87
expired_time = parser.parse("2019-11-01T10:00:39+00:00")

tests/data/upload_test.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from okdata.sdk.file_cache import FileCache
99
from tests.auth.client_credentials_test_utils import default_test_client_credentials
1010

11-
1211
config = Config()
1312
file_cache = FileCache(config)
1413
file_cache.credentials_cache_enabled = False

tox.ini

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = py39,py310,py311,py312,py313,flake8,black,mypy
2+
envlist = py310,py311,py312,py313,py314,flake8,black,mypy
33

44
[testenv]
55
deps=
@@ -33,8 +33,8 @@ commands =
3333
[testenv:mypy]
3434
skip_install = true
3535
deps =
36-
mypy==0.991
37-
types-requests==2.25.12
36+
mypy
37+
types-requests
3838
-rrequirements.txt
3939
commands =
4040
mypy -p okdata

0 commit comments

Comments
 (0)