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 asynciofrom aiogremlin import DriverRemoteConnection, Graphloop = 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 verticesresults = 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
.