Skip to content

Commit 7769379

Browse files
committed
Add support for Python 3.14
1 parent f52edbc commit 7769379

File tree

6 files changed

+12
-13
lines changed

6 files changed

+12
-13
lines changed

.github/workflows/integration-tests.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,15 @@ jobs:
2929
fail-fast: false
3030
matrix:
3131
java-version: [8]
32-
python-version: ["3.11", "3.12", "3.13"]
32+
python-version: ["3.11", "3.12", "3.13", "3.14"]
3333
event_loop_manager: ["libev", "asyncio", "asyncore"]
3434
exclude:
3535
- python-version: "3.12"
3636
event_loop_manager: "asyncore"
3737
- python-version: "3.13"
3838
event_loop_manager: "asyncore"
39+
- python-version: "3.14"
40+
event_loop_manager: "asyncore"
3941

4042
steps:
4143
- uses: actions/checkout@v5

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Scylla Enterprise (2018.1.x+) using exclusively Cassandra's binary protocol and
2020
.. image:: https://github.com/scylladb/python-driver/actions/workflows/integration-tests.yml/badge.svg?branch=master
2121
:target: https://github.com/scylladb/python-driver/actions/workflows/integration-tests.yml?query=event%3Apush+branch%3Amaster
2222

23-
The driver supports Python versions 3.10-3.13.
23+
The driver supports Python versions 3.10-3.14.
2424

2525
.. **Note:** This driver does not support big-endian systems.
2626

docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ A Python client driver for `Scylla <https://docs.scylladb.com>`_.
44
This driver works exclusively with the Cassandra Query Language v3 (CQL3)
55
and Cassandra's native protocol.
66

7-
The driver supports Python 3.10-3.13.
7+
The driver supports Python 3.10-3.14.
88

99
This driver is open source under the
1010
`Apache v2 License <http://www.apache.org/licenses/LICENSE-2.0.html>`_.

docs/installation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Installation
33

44
Supported Platforms
55
-------------------
6-
Python versions 3.10-3.13 are supported. Both CPython (the standard Python
6+
Python versions 3.10-3.14 are supported. Both CPython (the standard Python
77
implementation) and `PyPy <http://pypy.org>`_ are supported and tested.
88

99
Linux, OSX, and Windows are supported.

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ classifiers = [
1313
'Programming Language :: Python :: 3.11',
1414
'Programming Language :: Python :: 3.12',
1515
'Programming Language :: Python :: 3.13',
16+
'Programming Language :: Python :: 3.14',
1617
'Programming Language :: Python :: Implementation :: CPython',
1718
'Programming Language :: Python :: Implementation :: PyPy',
1819
'Topic :: Software Development :: Libraries :: Python Modules',

tests/integration/cqlengine/test_timestamp.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def test_batch_is_included(self):
4747
with BatchQuery(timestamp=timedelta(seconds=30)) as b:
4848
TestTimestampModel.batch(b).create(count=1)
4949

50-
"USING TIMESTAMP".should.be.within(m.call_args[0][0].query_string)
50+
m.call_args[0][0].query_string.should.match("USING TIMESTAMP")
5151

5252

5353
class CreateWithTimestampTest(BaseTimestampTest):
@@ -66,7 +66,7 @@ def test_timestamp_not_included_on_normal_create(self):
6666
with mock.patch.object(self.session, "execute") as m:
6767
TestTimestampModel.create(count=2)
6868

69-
"USING TIMESTAMP".shouldnt.be.within(m.call_args[0][0].query_string)
69+
m.call_args[0][0].query_string.shouldnt.match("USING TIMESTAMP")
7070

7171
def test_timestamp_is_set_on_model_queryset(self):
7272
delta = timedelta(seconds=30)
@@ -86,9 +86,7 @@ def test_non_batch_syntax_unit(self):
8686
with mock.patch.object(self.session, "execute") as m:
8787
TestTimestampModel.timestamp(timedelta(seconds=30)).create(count=1)
8888

89-
query = m.call_args[0][0].query_string
90-
91-
"USING TIMESTAMP".should.be.within(query)
89+
m.call_args[0][0].query_string.should.match("USING TIMESTAMP")
9290

9391
def test_non_batch_syntax_with_ttl_unit(self):
9492

@@ -111,16 +109,14 @@ def test_instance_update_includes_timestamp_in_query(self):
111109

112110
with mock.patch.object(self.session, "execute") as m:
113111
self.instance.timestamp(timedelta(seconds=30)).update(count=2)
114-
115-
"USING TIMESTAMP".should.be.within(m.call_args[0][0].query_string)
112+
m.call_args[0][0].query_string.should.match("USING TIMESTAMP")
116113

117114
def test_instance_update_in_batch(self):
118115
with mock.patch.object(self.session, "execute") as m:
119116
with BatchQuery() as b:
120117
self.instance.batch(b).timestamp(timedelta(seconds=30)).update(count=2)
121118

122-
query = m.call_args[0][0].query_string
123-
"USING TIMESTAMP".should.be.within(query)
119+
m.call_args[0][0].query_string.should.match("USING TIMESTAMP")
124120

125121

126122
class DeleteWithTimestampTest(BaseTimestampTest):

0 commit comments

Comments
 (0)