Skip to content

Commit

Permalink
Documentation (and other) updates for 3.29.0 (datastax#1194)
Browse files Browse the repository at this point in the history
  • Loading branch information
absurdfarce authored and dkropachev committed Jan 5, 2025
1 parent a3c4835 commit 270d2f5
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 13 deletions.
16 changes: 16 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
3.29.0
======
December 19, 2023

Features
--------
* Add support for Python 3.9 through 3.12, drop support for 3.7 (PYTHON-1283)
* Removal of dependency on six module (PR 1172)
* Raise explicit exception when deserializing a vector with a subtype that isn’t a constant size (PYTHON-1371)

Others
------
* Remove outdated Python pre-3.7 references (PR 1186)
* Remove backup(.bak) files (PR 1185)
* Fix doc typo in add_callbacks (PR 1177)

3.28.0
======
June 5, 2023
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,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.6-3.11.
The driver supports Python versions 3.6-3.12.

.. **Note:** This driver does not support big-endian systems.
Expand Down
2 changes: 1 addition & 1 deletion cassandra/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def emit(self, record):

logging.getLogger('cassandra').addHandler(NullHandler())

__version_info__ = (3, 28, 0)
__version_info__ = (3, 29, 0)
__version__ = '.'.join(map(str, __version_info__))


Expand Down
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ A Python client driver for `Scylla <https://docs.scylladb.com>`_.
This driver works exclusively with the Cassandra Query Language v3 (CQL3)
and Cassandra's native protocol.

The driver supports Python 3.6-3.11.
The driver supports Python 3.6-3.12.

This driver is open source under the
`Apache v2 License <http://www.apache.org/licenses/LICENSE-2.0.html>`_.
Expand Down
15 changes: 9 additions & 6 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Installation

Supported Platforms
-------------------
Python versions 3.6-3.11 are supported. Both CPython (the standard Python
Python versions 3.6-3.12 are supported. Both CPython (the standard Python
implementation) and `PyPy <http://pypy.org>`_ are supported and tested.

Linux, OSX, and Windows are supported.
Expand All @@ -26,7 +26,7 @@ To check if the installation was successful, you can run::

python -c 'import cassandra; print cassandra.__version__'

It should print something like "3.27.0".
It should print something like "3.29.0".

(*Optional*) Compression Support
--------------------------------
Expand Down Expand Up @@ -182,12 +182,15 @@ dependencies, then use install-option::
sudo pip install --install-option="--no-cython"


Supported Event Loops
^^^^^^^^^^^^^^^^^^^^^
For Python versions before 3.12 the driver uses the ``asyncore`` module for its default
event loop. Other event loops such as ``libev``, ``gevent`` and ``eventlet`` are also
available via Python modules or C extensions. Python 3.12 has removed ``asyncore`` entirely
so for this platform one of these other event loops must be used.

libev support
^^^^^^^^^^^^^
The driver currently uses Python's ``asyncore`` module for its default
event loop. For better performance, ``libev`` is also supported through
a C extension.

If you're on Linux, you should be able to install libev
through a package manager. For example, on Debian/Ubuntu::

Expand Down
5 changes: 4 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -455,8 +455,11 @@ def run_setup(extensions):
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3.7',
'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 :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Topic :: Software Development :: Libraries :: Python Modules'
Expand Down
4 changes: 2 additions & 2 deletions test-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ pytz
sure
pure-sasl
twisted[tls]
gevent>=1.0
gevent
eventlet
cython>=0.20,<0.30
packaging
futurist; python_version >= '3.7'
futurist
asynctest
pyyaml
4 changes: 3 additions & 1 deletion tests/unit/test_cluster.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import unittest

import logging
import socket

from mock import patch, Mock

Expand Down Expand Up @@ -88,8 +89,9 @@ class ClusterTest(unittest.TestCase):

def test_tuple_for_contact_points(self):
cluster = Cluster(contact_points=[('localhost', 9045), ('127.0.0.2', 9046), '127.0.0.3'], port=9999)
localhost_addr = set([addr[0] for addr in [t for (_,_,_,_,t) in socket.getaddrinfo("localhost",80)]])
for cp in cluster.endpoints_resolved:
if cp.address in ('::1', '127.0.0.1'):
if cp.address in localhost_addr:
self.assertEqual(cp.port, 9045)
elif cp.address == '127.0.0.2':
self.assertEqual(cp.port, 9046)
Expand Down

0 comments on commit 270d2f5

Please sign in to comment.