which python neo4j drivers are stable/production ready?
Asked Answered
P

1

5

I've noticed that with neo4j v3.0 there are now 3 competing drivers:

It seems that the first and third and developed by the same person, with the latter being a bit buggy and/or slow (at least with a Heroku free-tier App with a GrapheneDB add-on). I have zero experience with the second driver, and haven't tested the third driver (yet), since no DBaaS is currently offering neo4j v3.0 instances.

(I'm using python-3.x and would prefer neo4j v3.0 but will settle with v2.y) Can anyone shed some light as to which driver I should chose for my next app?

Propaedeutic answered 9/5, 2016 at 7:7 Comment(0)
M
9

As the developer of the first and third driver that you mention, I can only comment on those; I'm unsure of the status of the second.

Both drivers are up-to-date and actively under development (py2neo v3 is due to be released very shortly). The pair of drivers are intended not to compete but to complement each other, indeed py2neo actually embeds the official Neo driver for Bolt compatibility as there was little value in writing that twice!

Both drivers also support Python 2.7, 3.3, 3.4 and 3.5 so no compatibility issues there.

Now for the differences. The official driver only supports Bolt and consequently Neo4j 3.0 and upwards. It is intended as a lightweight driver and does not come with all the bells and whistles of py2neo. It is however fully supported by Neo Technology (more people than just me), whereas py2neo is supported by me in my spare time. Py2neo comes with a load of extra API that you might find useful but if you only need to run Cypher, the official driver will be sufficient.

So make your choice based on:

  1. Do you need support? If so, to what level?
  2. Are you running Cypher only or do you need a broader set of API?
Malca answered 10/5, 2016 at 8:47 Comment(4)
My current project involves building a graph and querying it... So, from the sounds of it, py2neo is potentially the more appropriate of your two softwares? (thanks for both BTW.)Propaedeutic
does the official driver support bolt without tls?Billen
Yes, encryption can be turned off -> neo4j.com/docs/developer-manual/current/drivers/…Malca
@NigelSmall I would like to continue using py2neo but am a little worried about its future. What would be your recommendation now?Drumhead

© 2022 - 2024 — McMap. All rights reserved.