Farewell py2neo. What happens now?

After many amazing years, the much loved py2neo has come to an end. We are grateful to Nigel Small for the work he put into the project and the ideas that originated there. py2neo elegantly bridged graph thinking with pythonic principles. Well done, Nigel.

So, what happens now? Please use this thread to offer suggestions about the best way forward. We'll do the same.

Best regards,
ABK

In the near-term, there may be forks which we could support.

There is now an official fork available at:

Here are some other forks:

2 Likes

Any advice for migrating to the Neo4j Python driver?

1 Like

Can we also try to assess how much of py2neo feature scope is covered by neomodel ? And bridge the potential important gaps ?

neomodel looks like a good candidate as it wraps the official driver and is an OGM - so it covers a good chunk of what py2neo did. It is also now part of Labs and has been maintained quite a lot in the recent months.
We could also add some of py2neo's features into neomodel, and other more specific ones to a different library, for example for the command line part, or the bulk import ?

Disclaimer : I am one of the two maintainers who have done most of the work neomodel in the past months ; but I'm not suggesting this for any personal reason, I really DO think it looks like a good candidate for it.

4 Likes

This is indeed a sad news. Was there any particular reason for removing all the documentation revolving py2neo?

We're trying to restore things in frozen maintenance mode but it will take a bit longer.

3 posts were split to a new topic: Import json with py2neo

Does all this mean that py2neo can no longer be used? I know it shouldn't be going forward, but pip seemingly can't find it meaning that any code that uses this can no longer function unless it was installed prior. I recently took over some Neo4j responsibilities and am trying to come up to speed and determine if the existing code can still be used at all or if it ought to be reworked immediately.

So we've managed to get hold of the py2neo project (on GitHub and PyPI).

What we've done so far: upload an empty patch release of the latest version of py2neo on PyPI. If your code relies on the latest version of py2neo, you can just use that. However, once deleted, a package/version combination cannot be re-uploaded to PyPI. So if your code relies on an older version of py2neo, we've uploaded the whole version history as py2neo-history. So in that latter case, you can just adjust your dependency (e.g., in your requirements.txt). There is no need to adjust imports.

What we plan to do: make the docs available again. This still pends on domain name transfers, which can take a while. Until then, you'll have to build the docs yourself, I'm afraid (see below).

What we don't plan to do: update or support the project in the future.

How to build the docs:

git clone https://github.com/neo4j-contrib/py2neo.git
cd py2neo
python -m venv venv # tested with Python 3.9
source venv/bin/activate
pip install -e . -r docs/requirements.txt numpy pandas sympy
./bin/make-docs
# docs are now available in docs/_build/html
2 Likes

With py2neo back on pypi, you should be able to continue using it. However, the project is EOL. Going forward all work is focused on neomodel.

@marius.conjeaud has written a great guide for migrating from py2neo to neomodel.

If you do choose to migrate to neomodel, please don't hesitate to reach out about any challenges or missing functionality that could be ported from py2neo.

Best,
ABK