In addition to previously mentioned functional testing for allthethings, I'd suggest performance being also very interesting to validate & improve with base library/lang changes such as proposed. Python's been less performant in general, if I recall, so it would be awesome to verify correctness as well as scalable, robust, fast usefulness. Makes me remember some fun with really large test clusters in all the clouds, different clients and payloads - anyone doing these lately or regularly with graphs for the win? Thanks so much!

Kind regards,
Michael

On 2/3/26 12:26 PM, Bret McGuire wrote:
   Thanks Dinesh!  Apologies, I should've been clearer.  My proposal is to deprecate (and then remove) eventlet, gevent and Twisted.  That would leave us with only the three most commonly-used event loops: asyncore, asyncio and libev.

    - Bret -

On Tue, Feb 3, 2026 at 1:23 PM Dinesh Joshi <[email protected] <mailto:[email protected]>> wrote:

    I'm in support of this proposal. However, even after eventlet
    removal, leaves us with 5 eventloop libraries/frameworks? Is there a
    reason to have 5. Is there value in keeping all 5 or look at
    potential ways of deprecating and consolidating on 2-3?

    On Tue, Feb 3, 2026 at 11:04 AM Bret McGuire <[email protected]
    <mailto:[email protected]>> wrote:

            Greetings all!

            I've filed CASSPYTHON-9 <https://issues.apache.org/jira/
        browse/CASSPYTHON-9> to document the details but since this
        would be at least a semi-significant change for the driver I
        thought it was worth at least bringing it to the list.  The JIRA
        ticket has the details but the short version is that asyncore,
        asyncio and libev are the most commonly used event loops (based
        on what we used to see from our customers).  Furthermore I would
        expect that most users will leverage asyncore or asyncio (once
        we get it right) since those are included with Python itself.

            Two other points are relevant here.  First, keeping these
        event loops does have a cost (albeit not a huge one) in that we
        have to test driver code using these event loops and support
        them as well.  I'd like to minimize that cost for something that
        doesn't get _that_ much use.  Second, I'm not saying this code
        should vanish from the earth.  If someone feels strongly about
        continuing to maintain these reactors they can move some or all
of them to an external library and maintain them going forward. I'm simply arguing that the Python driver team needs to
        consolidate its resources... and I'd rather focus on making
        asyncore, asyncio and libev awesome.

            Thanks all!

            - Bret -


Reply via email to