Skip to main content

Neo4j Cypher cell and line magic for IPython, Pandas, NetworkX and matplotlib

Project description

Author: Javier de la Rosa,

Introduces a %cypher (and %%cypher) magic for Neo4j in IPython. Inspired by Catherine Devlin’s ipython-sql.

Connect to a graph database, using neo4jrestclient_ driver, then issue Cypher commands within IPython or IPython Notebook. See examples.


As easy as usual:

pip install ipython-cypher


Inside IPython, load the extension:

%load_ext cypher

And then you are reay to go by using the %cypher line magic:

%cypher MATCH (a)-[]-(b) RETURN a, b

Some Cypher queries can be very long, in those cases the the cell magic, %%cypher comes in handy:

    // Nodes
    (Neo:Crew {name:'Neo'}),
    (Morpheus:Crew {name: 'Morpheus'}),
    (Trinity:Crew {name: 'Trinity'}),
    // Relationships

Note that by default ipython-cypher will connect to http://localhost:7474/db/data.

Queries results can be stored in a variable and then converted to a Pandas DataFrame:

results = %cypher MATCH (a)-[]-(b) RETURN a, b

Or to a NetworkX MultiDiGraph:


For more detailed descriptions, please visit the official documentation.



Release date: 20-Feb-2015

  • Added documentation.
  • Added option to run Cypher queries outside IPython
  • Added a better graph plot algorithm for matplotlib.


Release date: 17-Nov-2014

  • First public release of ipython-cypher

Project details

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page