Skip to main content

Memgraph database adapter for Python language

Project description

pymgclient is a Memgraph database adapter for Python programming language compliant with the DB-API 2.0 specification described by PEP 249.

mgclient module is the current implementation of the adapter. It is implemented in C as a wrapper around mgclient, the official Memgraph client library. As a C extension, it is only compatible with the CPython implementation of the Python programming language.

pymgclient only works with Python 3.

Prerequisites

Build prerequisites

pymgclient is a C wrapper around the mgclient Memgraph client library. To install it from sources you will need:

  • Python 3.5 or newer
  • A C compiler supporting C11 standard
  • Python header files
  • mgclient header files

Once prerequisites are met, you can install pymgclient using pip to download it from PyPI:

$ pip3 install pymgclient

or using setup.py if you have downloaded the source package locally:

$ python3 setup.py build
$ python3 setup.py install

Runtime requirements

mgclient Python module requires mgclient shared library at runtime (usually distributed as libmgclient.so). The module relies on the host OS to find the location. If the library is installed in a standard location, there should be no problems. Otherwise, you will have to let the mgclient module how to find it (usually by setting the LD_LIBRARY_PATH environment variable).

You will also need OpenSSL libraries required by the mgclient C library.

Running the test suite

Once mgclient is installed, you can run the test suite to verify it is working correctly. From the source directory, you can run:

$ python3 -m pytest

To run the tests, you will need to have Memgraph, pytest and pyopenssl installed on your machine. The tests will try to start the Memgraph binary from the standard installation path (usually /usr/lib/memgraph/memgraph) listening on port 7687. You can configure a different path or port by setting the following environment variables:

  • MEMGRAPH_PATH
  • MEMGRAPH_PORT

Documentation

Online documentation can be found on GitHub pages.

You can also build a local version of the documentation by running make from the docs directory. You will need Sphinx installed in order to do that.

Code sample

Here is an example of an interactive session showing some of the basic commands:

>>> import mgclient

# Make a connection to the database
>>> conn = mgclient.connect(host='127.0.0.1', port=7687)

# Create a cursor for query execution
>>> cursor = conn.cursor()

# Execute a query
>>> cursor.execute("""
        CREATE (n:Person {name: 'John'})-[e:KNOWS]->
               (m:Person {name: 'Steve'})
        RETURN n, e, m
    """)

# Fetch one row of query results
>>> row = cursor.fetchone()

>>> print(row[0])
(:Person {'name': 'John'})

>>> print(row[1])
[:KNOWS]

>>> print(row[2])
(:Person {'name': 'Steve'})

# Make database changes persistent
>>> conn.commit()

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pymgclient, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size pymgclient-0.1.0.tar.gz (30.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page