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.
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.
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
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.