From 924492ad583925ac0e810c39912d8db7af192596 Mon Sep 17 00:00:00 2001 From: Dmitry Kropachev Date: Thu, 16 Oct 2025 12:42:37 -0400 Subject: [PATCH] Add python 3.14 support 1. Add integration tests to CICD 2. Update documentation and pyproject.toml --- .github/workflows/integration-tests.yml | 14 +++++++++++--- README.rst | 2 +- docs/index.rst | 2 +- docs/installation.rst | 2 +- pyproject.toml | 2 ++ 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index d2bd01703d..ff800740da 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -43,13 +43,17 @@ jobs: fail-fast: false matrix: java-version: [8] - python-version: ["3.11", "3.12", "3.13"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.14t"] event_loop_manager: ["libev", "asyncio", "asyncore"] exclude: - python-version: "3.12" event_loop_manager: "asyncore" - python-version: "3.13" event_loop_manager: "asyncore" + - python-version: "3.14" + event_loop_manager: "asyncore" + - python-version: "3.14t" + event_loop_manager: "asyncore" steps: - uses: actions/checkout@v5 @@ -81,7 +85,11 @@ jobs: uv run ccm remove - name: Test with pytest + env: + EVENT_LOOP_MANAGER: ${{ matrix.event_loop_manager }} + PROTOCOL_VERSION: 4 run: | - export EVENT_LOOP_MANAGER=${{ matrix.event_loop_manager }} - export PROTOCOL_VERSION=4 + if [[ "${{ matrix.python-version }}" =~ t$ ]]; then + export PYTHON_GIL=0 + fi uv run pytest tests/integration/standard/ tests/integration/cqlengine/ diff --git a/README.rst b/README.rst index e71af2f47b..84ceb443a3 100644 --- a/README.rst +++ b/README.rst @@ -20,7 +20,7 @@ Scylla Enterprise (2018.1.x+) using exclusively Cassandra's binary protocol and .. image:: https://github.com/scylladb/python-driver/actions/workflows/integration-tests.yml/badge.svg?branch=master :target: https://github.com/scylladb/python-driver/actions/workflows/integration-tests.yml?query=event%3Apush+branch%3Amaster -The driver supports Python versions 3.10-3.13. +The driver supports Python versions 3.10-3.14. .. **Note:** This driver does not support big-endian systems. diff --git a/docs/index.rst b/docs/index.rst index 3192a17102..cd137917d9 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -4,7 +4,7 @@ A Python client driver for `Scylla `_. This driver works exclusively with the Cassandra Query Language v3 (CQL3) and Cassandra's native protocol. -The driver supports Python 3.10-3.13. +The driver supports Python 3.10-3.14. This driver is open source under the `Apache v2 License `_. diff --git a/docs/installation.rst b/docs/installation.rst index b2f6035f11..904e1fa2b0 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -3,7 +3,7 @@ Installation Supported Platforms ------------------- -Python versions 3.10-3.13 are supported. Both CPython (the standard Python +Python versions 3.10-3.14 are supported. Both CPython (the standard Python implementation) and `PyPy `_ are supported and tested. Linux, OSX, and Windows are supported. diff --git a/pyproject.toml b/pyproject.toml index 1558b2832c..f0dffa23c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,6 +13,8 @@ classifiers = [ 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: 3.13', + 'Programming Language :: Python :: 3.14', + 'Programming Language :: Python :: Free Threading :: 2 - Beta', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development :: Libraries :: Python Modules',