Skip to main content

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

Project description


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: 22-Apr-2015

  • Fixed error with conn when executing Cypher outside of IPython.


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

Download files

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

Source Distribution

ipython-cypher-0.2.3.tar.gz (12.2 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page