gremlinclient package

gremlinclient.api module

gremlinclient.connection module

class gremlinclient.connection.Connection(conn, future_class, timeout=None, username='', password='', loop=None, force_close=False, pool=None, force_release=False, session=None)[source]

Bases: object

This class encapsulates a connection to the Gremlin Server. Don’t directly create Connection instances. Use gremlinclient.graph.GraphDatabase.connect() or gremlinclient.api.create_connection() instead.

Parameters:
  • conn (tornado.websocket.WebSocketClientConnection) – client websocket connection.
  • timeout (float) – timeout for establishing connection (optional). Values 0 or None mean no timeout
  • username (str) – Username for SASL auth
  • password (str) – Password for SASL auth
  • loop – If param is None, tornado.ioloop.IOLoop.current is used for getting default event loop (optional)
  • force_close (bool) – force connection to close after read.
  • future_class (class) – type of Future - asyncio.Future, trollius.Future, or tornado.concurrent.Future
  • pool (gremlinclient.pool.Pool) – Connection pool. None by default
  • force_release (bool) – If possible, force release to pool after read.
  • session (str) – Session id (optional). Typically a uuid
close()[source]

Close the underlying websocket connection, detach from pool, and set to close.

closed

Readonly property. Return True if client has been closed or client connection has been closed :returns: bool

conn

Read only property for websocket connection. :returns: tornado.websocket.WebSocketClientConnection

release()[source]

Release connection to associated pool.

send(gremlin, bindings=None, lang='gremlin-groovy', aliases=None, op='eval', processor='', session=None, timeout=None, handler=None, request_id=None)[source]

Send a script to the Gremlin Server.

Parameters:
  • gremlin (str) – Gremlin script to submit to server.
  • bindings (dict) – A mapping of bindings for Gremlin script.
  • lang (str) – Language of scripts submitted to the server. “gremlin-groovy” by default
  • aliases (dict) – Rebind Graph and TraversalSource objects to different variable names in the current request
  • op (str) – Gremlin Server op argument. “eval” by default.
  • processor (str) – Gremlin Server processor argument. “” by default.
  • timeout (float) – timeout for establishing connection (optional). Values 0 or None mean no timeout
  • session (str) – Session id (optional). Typically a uuid
  • loop – If param is None, tornado.ioloop.IOLoop.current is used for getting default event loop (optional)
Returns:

gremlinclient.connection.Stream object

class gremlinclient.connection.Message(status_code, data, message, metadata)

Bases: tuple

data

Alias for field number 1

message

Alias for field number 2

metadata

Alias for field number 3

status_code

Alias for field number 0

class gremlinclient.connection.Session(*args, **kwargs)[source]

Bases: gremlinclient.connection.Connection

Child of gremlinclient.connection.Connection object that is bound to a session that maintains state across messages with the server. Don’t directly create Connection instances. Use gremlinclient.graph.GraphDatabase.session() instead.

Parameters:
  • conn (tornado.websocket.WebSocketClientConnection) – client websocket connection.
  • timeout (float) – timeout for establishing connection (optional). Values 0 or None mean no timeout
  • username (str) – Username for SASL auth
  • password (str) – Password for SASL auth
  • loop – If param is None, tornado.ioloop.IOLoop.current is used for getting default event loop (optional)
  • force_close (bool) – force connection to close after read.
  • future_class (class) – type of Future - asyncio.Future, trollius.Future, or tornado.concurrent.Future
  • pool (gremlinclient.pool.Pool) – Connection pool. None by default
  • force_release (bool) – If possible, force release to pool after read.
  • session (str) – Session id (optional). Typically a uuid
send(gremlin, bindings=None, lang='gremlin-groovy', aliases=None, op='eval', timeout=None, handler=None)[source]

send a script to the Gremlin Server using sessions.

Parameters:
  • gremlin (str) – Gremlin script to submit to server.
  • bindings (dict) – A mapping of bindings for Gremlin script.
  • lang (str) – Language of scripts submitted to the server. “gremlin-groovy” by default
  • aliases (dict) – Rebind Graph and TraversalSource objects to different variable names in the current request
  • op (str) – Gremlin Server op argument. “eval” by default.
  • timeout (float) – timeout for establishing connection (optional). Values 0 or None mean no timeout
  • loop – If param is None, tornado.ioloop.IOLoop.current is used for getting default event loop (optional)
Returns:

gremlinclient.connection.Stream object

class gremlinclient.connection.Stream(conn, session, processor, handler, loop, username, password, force_close, force_release, future_class)[source]

Bases: object

This object provides an interface for reading the response sent by the Gremlin Server over the websocket connection. Don’t directly create stream instances, they should by returned by gremlinclient.connection.Connection.send() or gremlinclient.connection.Session.send()

Parameters:
  • conn (gremlinclient.connection.Connection) – client websocket connection.
  • session (str) – Session id. Typically a uuid
  • processor (str) – Gremlin Server processor argument. “” by default.
  • loop – If param is None, tornado.ioloop.IOLoop.current is used for getting default event loop (optional)
  • username (str) – Username for SASL auth
  • password (str) – Password for SASL auth
  • force_close (bool) – force connection to close after read.
  • force_release (bool) – If possible, force release to pool after read.
  • future_class (class) – type of Future - asyncio.Future, trollius.Future, or tornado.concurrent.Future
add_handler(handler)[source]
read()[source]

Read a message from the response stream.

Returns:Future - asyncio.Future, trollius.Future, or tornado.concurrent.Future

gremlinclient.graph module

class gremlinclient.graph.GraphDatabase(url, timeout=None, username='', password='', loop=None, validate_cert=False, future_class=None, session_class=<class 'gremlinclient.connection.Session'>)[source]

Bases: object

This class generates connections to the Gremlin Server.

Parameters:
  • url (str) – url for Gremlin Server.
  • timeout (float) – timeout for establishing connection (optional). Values 0 or None mean no timeout
  • username (str) – Username for SASL auth
  • password (str) – Password for SASL auth
  • loop – If param is None, tornado.ioloop.IOLoop.current is used for getting default event loop (optional)
  • validate_cert (bool) – validate ssl certificate. False by default
  • future_class (class) – type of Future - asyncio.Future, trollius.Future, or tornado.concurrent.Future
connect(session=None, force_close=False, force_release=False, pool=None)[source]

Get a connection to the graph database.

Parameters:
  • session (str) – Session id (optional). Typically a uuid
  • force_close (bool) – force connection to close after read.
  • force_release (bool) – If possible, force release to pool after read.
  • pool (gremlinclient.pool.Pool) – Associated connection pool.
Returns:

gremlinclient.connection.Connection

future_class
session(connector=None, session=None, force_close=False, force_release=False, pool=None)[source]

Get a session connection to the graph database.

Parameters:
  • session (str) – Session id (optional). Typically a uuid
  • force_close (bool) – force connection to close after read.
  • force_release (bool) – If possible, force release to pool after read.
  • pool (gremlinclient.pool.Pool) – Associated connection pool.
Returns:

gremlinclient.connection.Session

gremlinclient.pool module

class gremlinclient.pool.Pool(graph, maxsize=256, loop=None, force_release=False, future_class=None)[source]

Bases: object

Pool of gremlinclient.connection.Connection objects.

Parameters:
  • url (str) – url for Gremlin Server.
  • timeout (float) – timeout for establishing connection (optional). Values 0 or None mean no timeout
  • username (str) – Username for SASL auth
  • password (str) – Password for SASL auth
  • graph (gremlinclient.graph.GraphDatabase) – The graph instances used to create connections
  • maxsize (int) – Maximum number of connections.
  • loop – event loop
  • validate_cert (bool) – validate ssl certificate. False by default
  • future_class (class) – type of Future - asyncio.Future, trollius.Future, or tornado.concurrent.Future
acquire()[source]

Acquire a connection from the Pool

Returns:Future - asyncio.Future, trollius.Future, or tornado.concurrent.Future
close()[source]

Close pool

closed

Check if pool has been closed

Returns:bool
freesize

Number of free connections

Returns:int
future_class
Returns:type Concrete class of the future instances created by this pool, for example :py:class: asyncio.Future
graph

Associated graph instance used for creating connections

Returns:gremlinclient.graph.GraphDatabase
maxsize

Maximum number of connections

Returns:in
pool

Object that stores unused connections

Returns:collections.deque
release(conn)[source]

Release a connection back to the pool.

Parameters:gremlinclient.connection.Connection – The connection to be released
size

Total number of connections

Returns:int