From 7108eadc1bc4cb17374ef50bbcbc11cbb1df8b62 Mon Sep 17 00:00:00 2001 From: Brad Schoening Date: Wed, 18 Jun 2025 11:54:37 -0400 Subject: [PATCH] Remove Python 3.8 which reached EOL on October 2024, update Python runtimes, update cryptography lib to 42 (Q4 2024 release) --- Jenkinsfile | 8 ++++---- README-dev.rst | 2 +- README.rst | 2 +- docs.yaml | 4 ---- docs/index.rst | 2 +- docs/installation.rst | 2 +- setup.py | 4 ++-- test-datastax-requirements.txt | 2 +- tox.ini | 4 ++-- 9 files changed, 13 insertions(+), 17 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3457a779da..4c328d10d5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,10 +31,10 @@ import com.datastax.jenkins.drivers.python.Slack slack = new Slack() -DEFAULT_CASSANDRA = ['3.0', '3.11', '4.0', '4.1', '5.0'] +DEFAULT_CASSANDRA = ['3.11', '4.0', '4.1', '5.0'] DEFAULT_DSE = ['dse-5.1.35', 'dse-6.8.30', 'dse-6.9.0'] DEFAULT_HCD = ['hcd-1.0.0'] -DEFAULT_RUNTIME = ['3.8.16', '3.9.16', '3.10.11', '3.11.3', '3.12.0'] +DEFAULT_RUNTIME = ['3.9.23', '3.10.18', '3.11.13', '3.12.11', '3.13.5'] DEFAULT_CYTHON = ["True", "False"] matrices = [ "FULL": [ @@ -674,8 +674,8 @@ pipeline { triggers { parameterizedCron(branchPatternCron().matcher(env.BRANCH_NAME).matches() ? """ # Every weeknight (Monday - Friday) around 4:00 AM - # These schedules will run with and without Cython enabled for Python 3.8.16 and 3.12.0 - H 4 * * 1-5 %CI_SCHEDULE=WEEKNIGHTS;EVENT_LOOP=LIBEV;CI_SCHEDULE_PYTHON_VERSION=3.8.16 3.12.0;CI_SCHEDULE_SERVER_VERSION=3.11 4.0 5.0 dse-5.1.35 dse-6.8.30 dse-6.9.0 hcd-1.0.0 + # These schedules will run with and without Cython enabled for Python 3.9.23 and 3.13.5 + H 4 * * 1-5 %CI_SCHEDULE=WEEKNIGHTS;EVENT_LOOP=LIBEV;CI_SCHEDULE_PYTHON_VERSION=3.9.23 3.13.5;CI_SCHEDULE_SERVER_VERSION=3.11 4.0 5.0 dse-5.1.35 dse-6.8.30 dse-6.9.0 hcd-1.0.0 """ : "") } diff --git a/README-dev.rst b/README-dev.rst index 7ffa52b0b1..c619b0beaf 100644 --- a/README-dev.rst +++ b/README-dev.rst @@ -166,7 +166,7 @@ it with the ``PROTOCOL_VERSION`` environment variable:: Testing Multiple Python Versions -------------------------------- -Use tox to test all of Python 3.8 through 3.12 and pypy (this is what TravisCI runs):: +Use tox to test all of Python 3.9 through 3.13 and pypy (this is what TravisCI runs):: tox diff --git a/README.rst b/README.rst index f8078d0a31..8426fa34a7 100644 --- a/README.rst +++ b/README.rst @@ -16,7 +16,7 @@ DataStax Driver for Apache Cassandra A modern, `feature-rich `_ and highly-tunable Python client library for Apache Cassandra (2.1+) and DataStax Enterprise (4.7+) using exclusively Cassandra's binary protocol and Cassandra Query Language v3. -The driver supports Python 3.8 through 3.12. +The driver supports Python 3.9 through 3.13. **Note:** DataStax products do not support big-endian systems. diff --git a/docs.yaml b/docs.yaml index c0f97a8c5a..63269a3001 100644 --- a/docs.yaml +++ b/docs.yaml @@ -2,10 +2,6 @@ title: DataStax Python Driver summary: DataStax Python Driver for Apache Cassandra® output: docs/_build/ swiftype_drivers: pythondrivers -checks: - external_links: - exclude: - - 'http://aka.ms/vcpython27' sections: - title: N/A prefix: / diff --git a/docs/index.rst b/docs/index.rst index 2370ccefaf..2fcaf43884 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -4,7 +4,7 @@ A Python client driver for `Apache Cassandra® `_. This driver works exclusively with the Cassandra Query Language v3 (CQL3) and Cassandra's native protocol. Cassandra 2.1+ is supported, including DSE 4.7+. -The driver supports Python 3.8 through 3.12. +The driver supports Python 3.9 through 3.13. This driver is open source under the `Apache v2 License `_. diff --git a/docs/installation.rst b/docs/installation.rst index c231f8e5d9..569717df53 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -3,7 +3,7 @@ Installation Supported Platforms ------------------- -Python 3.8 through 3.12 are supported. Both CPython (the standard Python +Python 3.9 through 3.13 are supported. Both CPython (the standard Python implementation) and `PyPy `_ are supported and tested. Linux, OSX, and Windows are supported. diff --git a/setup.py b/setup.py index 9058aafc52..2534754494 100644 --- a/setup.py +++ b/setup.py @@ -390,7 +390,7 @@ def run_setup(extensions): _EXTRAS_REQUIRE = { 'graph': ['gremlinpython==3.4.6'], - 'cle': ['cryptography>=35.0'] + 'cle': ['cryptography>=42.0'] } setup( @@ -424,11 +424,11 @@ def run_setup(extensions): 'Natural Language :: English', 'Operating System :: OS Independent', 'Programming Language :: Python', - 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development :: Libraries :: Python Modules' diff --git a/test-datastax-requirements.txt b/test-datastax-requirements.txt index 038a8b571d..d605f6dc51 100644 --- a/test-datastax-requirements.txt +++ b/test-datastax-requirements.txt @@ -1,4 +1,4 @@ -r test-requirements.txt kerberos gremlinpython==3.4.6 -cryptography >= 35.0 +cryptography >= 42.0 diff --git a/tox.ini b/tox.ini index 6748a6e45f..e77835f0da 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{38,39,310,311,312},pypy +envlist = py{39,310,311,312,313},pypy [base] deps = pytest @@ -12,7 +12,7 @@ deps = pytest kerberos futurist lz4 - cryptography>=35.0 + cryptography>=42.0 [testenv] deps = {[base]deps}