Skip to content

Commit 48dc1ed

Browse files
committed
Python 3.14 support
1 parent c874d07 commit 48dc1ed

5 files changed

Lines changed: 15 additions & 7 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ jobs:
1111
timeout-minutes: 20
1212
runs-on: ubuntu-latest
1313
strategy:
14-
max-parallel: 5
14+
max-parallel: 6
1515
matrix:
16-
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
16+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
1717

1818
steps:
1919
- name: checkout

pywb/warcserver/test/testutils.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,12 @@ def setup_class(cls, *args, **kwargs):
167167
super(HttpBinLiveTests, cls).setup_class(*args, **kwargs)
168168

169169
from httpbin import app as httpbin_app
170-
httpbin_app.config.update(JSONIFY_PRETTYPRINT_REGULAR=True)
170+
171+
if hasattr(httpbin_app, 'json'): # Flask >= 2.2.0
172+
httpbin_app.json.compact = False
173+
else:
174+
httpbin_app.config.update(JSONIFY_PRETTYPRINT_REGULAR=True)
175+
171176
cls.httpbin_server = GeventServer(httpbin_app)
172177

173178
httpbin_local = 'http://localhost:' + str(cls.httpbin_server.port) + '/'

requirements.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@ jinja2>=3.1.2
77
surt>=0.3.1
88
brotlipy
99
pyyaml
10-
werkzeug==2.2.3
10+
werkzeug==2.2.3; python_version<"3.14"
11+
werkzeug==2.3.8; python_version>="3.14"
1112
webencodings
1213
legacy-cgi; python_version>="3.13"
1314
gevent==22.10.2; python_version<"3.8"
1415
gevent==23.9.0.post1; python_version>="3.8" and python_version<"3.13"
15-
gevent==24.10.1; python_version>="3.13"
16+
gevent==25.4.1; python_version>="3.13"
1617
greenlet>=2.0.2,<3.0; python_version<"3.12"
1718
greenlet==3.2.4; python_version>="3.12.0rc0"
1819
webassets==2.0

setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ def get_package_data():
127127
"babel-vue-extractor"
128128
],
129129
},
130-
python_requires='>=3.7,<3.14',
130+
python_requires='>=3.7,<3.15',
131131
tests_require=load_requirements("test_requirements.txt"),
132132
cmdclass={'test': PyTest},
133133
test_suite='',
@@ -154,6 +154,7 @@ def get_package_data():
154154
'Programming Language :: Python :: 3.11',
155155
'Programming Language :: Python :: 3.12',
156156
'Programming Language :: Python :: 3.13',
157+
'Programming Language :: Python :: 3.14',
157158
'Topic :: Internet :: Proxy Servers',
158159
'Topic :: Internet :: WWW/HTTP',
159160
'Topic :: Internet :: WWW/HTTP :: WSGI',

tox.ini

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ testpaths =
44
tests
55

66
[tox]
7-
envlist = py37, py38, py39, py310, py311, py312, py313
7+
envlist = py37, py38, py39, py310, py311, py312, py313, py314
88

99
[gh-actions]
1010
python =
@@ -13,6 +13,7 @@ python =
1313
3.11: py311
1414
3.12: py312
1515
3.13: py313
16+
3.14: py314
1617

1718
[testenv]
1819
setenv = PYWB_NO_VERIFY_SSL = 1

0 commit comments

Comments
 (0)