An asynchronous DSL for the Gremlin-Python driver


Keywords
Tinkerpop, Tinkerpop3, gremlin, gremlin-python, asyncio, graphdb
License
Apache-2.0
Install
pip install aiogremlin==3.3.4

Documentation

aiogremlin

Official Documentation

aiogremlin is an asynchronous DSL based on the official Gremlin-Python GLV designed for integration with event loop based asynchronous Python networking libraries, including asyncio, aiohttp, and tornado. It uses the async/await syntax introduced in PEP 492, and is therefore Python 3.5+ only.

aiogremlin tries to follow Gremlin-Python as closely as possible both in terms of API and implementation. It is released according to the TinkerPop release schedule.

Note that this NOT an official Apache project component, it is a THIRD PARTY PACKAGE!

Getting Started

import asyncio
from aiogremlin import DriverRemoteConnection, Graph


loop = asyncio.get_event_loop()


async def go(loop):
  remote_connection = await DriverRemoteConnection.open(
    'ws://localhost:8182/gremlin', 'g')
  g = Graph().traversal().withRemote(remote_connection)
  vertices = await g.V().toList()
  await remote_connection.close()
  return vertices


vertices = loop.run_until_complete(go(loop))
print(vertices)
# [v[1], v[2], v[3], v[4], v[5], v[6]]