Hi all, Following up on this thread regarding the 4.x direction (from the discussion with Ken on PR #3725: https://github.com/apache/tinkerpop/pull/3725).
In 3.8 (#3527), I kept everything additive so we wouldn't break existing sync code, and I initially did the same on master. However, as Ken pointed out, since 4.x allows breaking changes, we have the chance to rethink this properly. Ideally, for 4.x I'd love to build the Python driver natively async from scratch and avoid the sync layer / event-loop wrapping (`nest_asyncio`) in the driver altogether. Before going further with the 4.x PRs, I'd like to hear everyone's thoughts on moving `gremlin-python` to a fully native async design from the ground up in 4.x and how we want that API to look across the TinkerPop ecosystem. Thanks, Hugo ________________________________ De: master hugo <[email protected]> Enviado: Monday, 20 July 2026 14:01:56 Para: [email protected] <[email protected]> Asunto: [DISCUSS] Native-async WebSocket driver for gremlin-python (TINKERPOP-2774) Hi all, I've opened a PR (apache/tinkerpop#3527) implementing a native-async WebSocket driver for gremlin-python, addressing TINKERPOP-2774. The goal is to let applications use the full Gremlin DSL inside a running asyncio event loop without thread-pool wrappers or nest_asyncio, which has been a recurring pain point (see the JIRA ticket and several Discord threads). Summary of what's in the PR: * Low-level layer: AsyncAiohttpWSTransport, AsyncGremlinServerWSProtocol, AsyncResultSet, AsyncConnection, AsyncClient * High-level DSL layer: AsyncDriverRemoteConnection, AsyncGraphTraversalSource, AsyncGraphTraversal, AsyncTransaction * No existing code is modified, this is purely additive * 242 unit tests plus integration tests via Docker Compose Yang Xia suggested I start this thread before going further given the size of the change, so I wanted to get community feedback on the design before continuing. Happy to walk through any part of the implementation in more detail. Link to PR: https://github.com/apache/tinkerpop/pull/3527 Link to JIRA: https://issues.apache.org/jira/browse/TINKERPOP-2774 Thanks, Hugo
