Skip to main content

Python client library and toolkit for Neo4j

Project description

GitHub release License Build Status Coverage Status

Py2neo is a client library and toolkit for working with Neo4j from within Python applications and from the command line. The library supports both Bolt and HTTP and provides a high level API, an OGM, admin tools, an interactive console, a Cypher lexer for Pygments, and many other bells and whistles.

When considering whether to use py2neo or the official Python Driver for Neo4j, there is a trade-off to be made. Py2neo offers a larger surface, with both a higher level API and an OGM, but the official driver is fully supported by Neo4j. If you are new to Neo4j, need an OGM, do not want to learn Cypher immediately, or require data science integrations, py2neo may be the better choice. If you are in an Enterprise environment where you require support, you likely need the official driver.

As of version 2020.1.0, Py2neo contains experimental Bolt routing support, enabled using g = Graph(..., routing=True). Constructive feedback on this feature is very welcome, but note that it is not yet guaranteed to be stable in a production environment.

Releases & Versioning

As of 2020, py2neo has switched to Calendar Versioning, using a scheme of YYYY.N.M. Here, N is an incrementing zero-based number for each year, and M is a revision within that version (also zero-based).

No compatibility guarantees are given between versions, but as a general rule, a change in M should require little-to-no work within client applications, whereas a change in N may require some work. A change to the year is likely to require a more significant amount of work to upgrade.

Note that py2neo is developed on a rolling basis, so patches are not made to old versions. Users will instead need to install the latest release to adopt bug fixes.


PyPI version PyPI Downloads

To install the latest release of py2neo, simply use:

$ pip install --upgrade py2neo

To install the latest stable code from the GitHub master branch, use:

$ pip install git+


Python versions Neo4j versions

The following versions of Python and Neo4j (all editions) are supported:

  • Python 2.7 / 3.5 / 3.6 / 3.7 / 3.8
  • Neo4j 3.4 / 3.5 / 4.0 / 4.1 (the latest point release of each version is recommended)

Py2neo provides support for the multi-database functionality added in Neo4j 4.0. More about this can be found in the documentation for the Graph class.

Note also that Py2neo is developed and tested under Linux using standard CPython distributions. While other operating systems and Python distributions may work, support for these is not available.


For more information, read the handbook.

Release history Release notifications | RSS feed

Download files

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

Files for py2neo, version 2020.1.1
Filename, size File type Python version Upload date Hashes
Filename, size py2neo-2020.1.1-py2.py3-none-any.whl (185.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size py2neo-2020.1.1.tar.gz (165.1 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