Copilot commented on code in PR #1282: URL: https://github.com/apache/cassandra-python-driver/pull/1282#discussion_r2977111188
########## README.rst: ########## @@ -15,7 +15,7 @@ Apache Cassandra Python Driver A modern, `feature-rich <https://github.com/datastax/python-driver#features>`_ 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.9 through 3.13. +The driver supports Python 3.10 through 3.14. Review Comment: Support range was updated here, but other prominent docs still state the old range (e.g., `docs/index.rst` says Python 3.9–3.13 and `README-dev.rst` mentions testing 3.9–3.13). Consider updating those references in the same PR to keep the documentation consistent. ```suggestion The driver supports the Python versions listed on the project's PyPI page. ``` ########## docs/installation.rst: ########## @@ -161,9 +155,10 @@ for token-aware routing with the ``Murmur3Partitioner``, `libev <http://software.schmorp.de/pkg/libev.html>`_ event loop integration, and Cython optimized extensions. -When installing manually through setup.py, you can disable both with -the ``--no-extensions`` option, or selectively disable them with -with ``--no-murmur3``, ``--no-libev``, or ``--no-cython``. +When installing manually these options can be disabled by changing the corresponding Review Comment: Minor grammar: “When installing manually these options…” reads as missing a comma after “manually”, which makes the sentence harder to parse. ```suggestion When installing manually, these options can be disabled by changing the corresponding ``` ########## CHANGELOG.rst: ########## @@ -1,3 +1,26 @@ +3.30.0 +====== +March 23, 2026 + +Features +-------- +* Introduce pyproject.toml to explicitly declare build dependencies (CASSPYTHON-7) +* Add Python 3.14 to CI, remove Python 3.9 (CASSPYTHON-4) +* Mark eventlet, gevent and Twisted event loops as deprecated (CASSPYTHON-12) + +Bug Fixes +--------- +* Do not set timeout to None when calling execute_async in execute_concurrent (PYTHON-1354) +* No C extension .so files in published binary Python whl packages of 3.29.3 (CASSPYTHON-3) +* Win32 wheels do not include compiled libev modules (CASSPYTHON-5) + +Others +------ +* Remove obsolete __future__ import absolute_import (PR 1263) +* Remove ez_setup for compatibility with setuptools v82 (PR 1268) +* Replace usage of with await lock (PR 1270) Review Comment: This changelog bullet is difficult to parse (“Replace usage of with await lock”). Consider rewording to explicitly state what was replaced (e.g., replacing a `with <lock>` usage with awaiting an async lock) so readers can understand the change without context from the PR. ```suggestion * Replace with-statement based lock usage with awaiting an async lock (PR 1270) ``` ########## docs/installation.rst: ########## @@ -3,7 +3,7 @@ Installation Supported Platforms ------------------- -Python 3.9 through 3.13 are supported. Both CPython (the standard Python +Python 3.10 through 3.14 are supported. Both CPython (the standard Python implementation) and `PyPy <http://pypy.org>`_ are supported and tested. Review Comment: Supported Python versions were updated here, but the documentation landing page still advertises the previous range (`docs/index.rst` currently says Python 3.9–3.13). Consider updating that page as well to avoid conflicting guidance. ########## docs/installation.rst: ########## @@ -91,23 +91,18 @@ details at `PYTHON-1351 <https://datastax-oss.atlassian.net/browse/PYTHON-1351>` Speeding Up Installation ^^^^^^^^^^^^^^^^^^^^^^^^ - By default, installing the driver through ``pip`` uses a pre-compiled, platform-specific wheel when available. If using a source distribution rather than a wheel, Cython is used to compile certain parts of the driver. This makes those hot paths faster at runtime, but the Cython compilation process can take a long time -- as long as 10 minutes in some environments. In environments where performance is less important, it may be worth it to :ref:`disable Cython as documented below <cython-extensions>`. -You can also use ``CASS_DRIVER_BUILD_CONCURRENCY`` to increase the number of -threads used to build the driver and any C extensions: - -.. code-block:: bash - $ # installing from source - $ CASS_DRIVER_BUILD_CONCURRENCY=8 python setup.py install - $ # installing from pip - $ CASS_DRIVER_BUILD_CONCURRENCY=8 pip install cassandra-driver +Cython also supports concurrent builds of native extensions. The ``build-concurrency`` key in the +``tool.cassandra-driver`` table of pyproject.toml is an integer value which specifies the number of +concurrent builds Cython may execute. The value for this key must be a non-negative integer; the default is zero, +indicating no concurrent builds. The ``multiprocessing`` module must be installed if concurrent builds are used. Review Comment: The docs say “The ``multiprocessing`` module must be installed if concurrent builds are used.” `multiprocessing` is part of the Python standard library for the supported runtimes (CPython/PyPy), so this is misleading. Consider rephrasing to note that concurrent builds rely on the standard-library `multiprocessing` module (and may be unavailable only in restricted/minimal Python builds). ```suggestion indicating no concurrent builds. Concurrent builds rely on the standard-library ``multiprocessing`` module, which may be unavailable in restricted or minimal Python environments. ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

