Getting Started

Prerequisites

Goblin requires python version 3.5 to 3.8 and runs on gremlin-python drivers 3.2.4 and later.

aiogremlin is in the Pypi repository and as such can be installed through pip.

pip install aiogremlin

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.

aiogremlin has a simple API that is quite easy to use. However, as it relies heavily on asyncio and aiohttp, it is helpful to be familiar with the basics of these modules.

aiogremlin is very similar to Gremlin-Python, except it is all async, all the time.

Minimal Example

Submit a script to the database.

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()
return vertices
results = loop.run_until_complete(go(loop))
# results = [v[1], v[2], v[3], v[4], v[5], v[6]]

The above example demonstrates how :py:mod:aiogremlin uses the asyncio-event-loop to drive communication with the Gremlin Server, but the rest of examples are written as if they were run in a Python interpreter. In reality, this isn't possible, so remember, code must be wrapped in a coroutine and run with the asyncio-event-loop.