A quick note here explaining some steps that can be taken to test and
validate this release.  We did something similar
<https://lists.apache.org/thread/gpy5spj05dqorxffgrg76qc05rxbcgs5> for the
Java driver and it seemed to be useful for folks so I thought I'd try it
here as well.

   I'd recommend doing any of the testing below in a Python virtual
environment, especially if you're going to be installing anything; no
reason to mess with your global Python install.  You can find out more
about virtualenvs here <https://virtualenv.pypa.io/en/latest/>.  If you're
so inclined I'd also recommend looking into uv
<https://github.com/astral-sh/uv> to manage both your virtualenvs and local
Python installs.  Not required by any means; it's perfectly fine to just do
something like "python -m venv my_venv".  But if you're doing a lot with
Python environments uv has some really nice features.

   In no particular order:


   - Validate that the release commit hash lines up to the tag referenced
   above
   - Locally build a source distribution and confirm that it matches up to
   what's in SVN
      - pip install build
      - python -m build --sdist
   - Download the source tarball from SVN and run unit tests locally
      - pip install -r test-requirements.txt
      - pytest tests/unit
   - Try running some sample apps against the module currently available on
   testpypi
      - Similarly to what's done on the Java side with Nexus you can use
      testpypi just like you'd normally use pypi
      - pip install -i https://test.pypi.org/simple/
      cassandra-driver==3.30.0


    If you plan on installing cassandra-driver into your environment from
testpypi it might be useful to note which platform you're installing on.
Python supports the idea of binary builds of packages for specific
platforms and Python runtimes... that's what a wheel is.  We've built a
number of wheels for common platforms for all Python versions supported by
this release, so if you do an install with one of those platform/Python
combinations you'll get the wheel and not have to build anything at install
time.  If you use something other than these combinations (say an older
version of Python or trying an install on OpenIndiana) pip will try to
build it for you locally.  Most installs will wind up using the wheels but
if somebody has a setup which allows us to test a non-wheel install that
would be pretty awesome.

   Let me know if you have any questions!

      - Bret -


On Thu, Mar 26, 2026 at 4:07 PM Nate McCall <[email protected]> wrote:

> +1
> (verified commit hash for 3.30.0 tag as 65b26fe4)
>
> On Wed, Mar 25, 2026 at 12:37 PM Bret McGuire <[email protected]>
> wrote:
>
>>    Greetings all!  I'm proposing the test build of Cassandra Python
>> Driver 3.30.0 for release.
>>
>> sha1: 65b26fe4a3076870436965a81be5327b759b3e64
>> Git:
>> https://github.com/apache/cassandra-python-driver/releases/tag/3.30.0
>> Source release:
>> https://dist.apache.org/repos/dist/dev/cassandra/cassandra-python-driver/3.30.0/
>> Changelog:
>> https://github.com/apache/cassandra-python-driver/blob/trunk/CHANGELOG.rst#3300
>> TestPypi: https://test.pypi.org/project/cassandra-driver/3.30.0/
>> (includes wheels for release)
>>
>>    This is the first release of the Python driver since its donation to
>> the Apache Software Foundation.  We've updated the platform support to
>> follow our convention that all Python runtimes that are not EOL at time of
>> release are officially supported.  For 3.30.0 that works out to CPython
>> 3.10 through 3.14, although in reality older Pythons will probably continue
>> to work well (we just don't officially support them).  In terms of changes,
>> we dropped Python 3.9 (supported in 3.29.3) and added Python 3.14.
>>
>>    This release also fixes a few issues with our wheel builds.  As part
>> of these fixes we've dropped support for Win32 wheels entirely.  Win32
>> users can still use the driver... they'll just have to build the release at
>> install time.
>>
>>    This release also marks our conversion away from setup.py and towards
>> pyproject.toml for managing project metadata.  In the spirit of
>> pyproject.toml we've shifted towards a more declarative configuration model
>> and away from settings which can be overridden at runtime.  All existing
>> configuration options should still be present... they likely just moved
>> around a bit.
>>
>>    Finally, this release marks the eventlet, gevent and Twisted event
>> loops as deprecated following the previous conversation
>> <https://lists.apache.org/thread/49w0wbobzttpnqg05hqlnjpd1tvnd0v9> on
>> this list.  These event loops will be removed in our next release (again
>> following the conclusion of the previous conversation).
>>
>>    The vote will be open for 72 hours (longer if needed) until ~11:30pm
>> GMT on 27 March 2026.  Everyone who has tested the build is invited to
>> vote. Votes by PMC members are considered binding. A vote passes if there
>> are at least three binding +1s and no -1's.
>>
>>    Thanks all!
>>
>>       - Bret -
>>
>>
>>

Reply via email to