Py2neo
======
** **Please now consider this project to be EOL. There will be no more updates. It is recommended to use the official Neo4j drivers instead.** **
The version history of py2neo on PyPI got lost.
If you need an older version, you can install [`py2neo-history`](https://pypi.org/project/py2neo-history/) instead.
.. image:: https://img.shields.io/pypi/v/py2neo.svg
:target: https://pypi.python.org/pypi/py2neo
:alt: PyPI version
.. image:: https://img.shields.io/pypi/dm/py2neo
:target: https://pypi.python.org/pypi/py2neo
:alt: PyPI Downloads
.. image:: https://img.shields.io/github/license/neo4j-contrib/py2neo.svg
:target: https://www.apache.org/licenses/LICENSE-2.0
:alt: License
.. image:: https://coveralls.io/repos/github/neo4j-contrib/py2neo/badge.svg?branch=master
:target: https://coveralls.io/github/neo4j-contrib/py2neo?branch=master
:alt: Coverage Status
**Py2neo** is a client library and toolkit for working with `Neo4j <https://neo4j.com/>`_ from within `Python <https://www.python.org/>`_ applications.
The library supports both Bolt and HTTP and provides a high level API, an OGM, admin tools, a Cypher lexer for Pygments, and many other bells and whistles.
Command line tooling has been removed from the library in py2neo 2021.2.
This functionality now exists in the separate **ipy2neo** project.
As of version 2021.1, py2neo contains full support for routing, as exposed by a Neo4j cluster.
This can be enabled using a ``neo4j://...`` URI or by passing ``routing=True`` to a ``Graph`` constructor.
Installation & Compatibility
----------------------------
To install the latest release of py2neo, simply use:
.. code-block:: bash
$ pip install py2neo
The following versions of Python and Neo4j (all editions) are supported:
.. list-table::
:header-rows: 1
* - Neo4j
- Python 3.5+
- Python 2.7
* - 4.4
- |test-neo44-py35+|
- |test-neo44-py27|
* - 4.3
- |test-neo43-py35+|
- |test-neo43-py27|
* - 4.2
- |test-neo42-py35+|
- |test-neo42-py27|
* - 4.1
- |test-neo41-py35+|
- |test-neo41-py27|
* - 4.0
- |test-neo40-py35+|
- |test-neo40-py27|
* - 3.5
- |test-neo35-py35+|
- |test-neo35-py27|
* - 3.4
- |test-neo34-py35+|
- |test-neo34-py27|
Note that py2neo is developed and tested under **Linux** using standard CPython distributions.
While other operating systems and Python distributions may work, support for these is not available.
Quick Example
-------------
To run a query against a local database is straightforward::
>>> from py2neo import Graph
>>> graph = Graph("bolt://localhost:7687", auth=("neo4j", "password"))
>>> graph.run("UNWIND range(1, 3) AS n RETURN n, n * n as n_sq")
n | n_sq
-----|------
1 | 1
2 | 4
3 | 9
Releases & Versioning
---------------------
As of 2020, py2neo has switched to `Calendar Versioning <https://calver.org/>`_, using a scheme of ``YYYY.N.M``.
Here, ``N`` is an incrementing zero-based number for each year, and ``M`` is a revision within that version (also zero-based).
No compatibility guarantees are given between versions, but as a general rule, a change in ``M`` should require little-to-no work within client applications,
whereas a change in ``N`` may require some work. A change to the year is likely to require a more significant amount of work to upgrade.
Note that py2neo is developed on a rolling basis, so patches are not made to old versions.
Users will instead need to install the latest release to adopt bug fixes.
More
----
For more information, read the `handbook <http://py2neo.org/>`_.
.. |test-neo44-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo44-py27.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo44-py27.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 4.4 using py27
.. |test-neo44-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo44-py35+.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo44-py35+.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 4.4 using py35+
.. |test-neo43-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo43-py27.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo43-py27.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 4.3 using py27
.. |test-neo43-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo43-py35+.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo43-py35+.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 4.3 using py35+
.. |test-neo42-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo42-py27.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo42-py27.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 4.2 using py27
.. |test-neo42-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo42-py35+.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo42-py35+.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 4.2 using py35+
.. |test-neo41-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo41-py27.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo41-py27.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 4.1 using py27
.. |test-neo41-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo41-py35+.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo41-py35+.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 4.1 using py35+
.. |test-neo40-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo40-py27.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo40-py27.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 4.0 using py27
.. |test-neo40-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo40-py35+.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo40-py35+.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 4.0 using py35+
.. |test-neo35-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo35-py27.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo35-py27.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 3.5 using py27
.. |test-neo35-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo35-py35+.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo35-py35+.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 3.5 using py35+
.. |test-neo34-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo34-py27.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo34-py27.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 3.4 using py27
.. |test-neo34-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo34-py35+.yml
:target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo34-py35+.yml?query=branch%3Amaster
:alt: GitHub workflow status for tests against Neo4j 3.4 using py35+
Raw data
{
"_id": null,
"home_page": "https://py2neo.org/",
"name": "py2neo",
"maintainer": "",
"docs_url": "https://pythonhosted.org/py2neo/",
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Nigel Small",
"author_email": "technige@py2neo.org",
"download_url": "https://files.pythonhosted.org/packages/96/bb/fd298b06181fc4aace4838d91e6b511184ad1f3e5fe9cffee7878c66f14a/py2neo-2021.2.4.tar.gz",
"platform": null,
"description": "Py2neo\n======\n\n** **Please now consider this project to be EOL. There will be no more updates. It is recommended to use the official Neo4j drivers instead.** **\n\nThe version history of py2neo on PyPI got lost.\nIf you need an older version, you can install [`py2neo-history`](https://pypi.org/project/py2neo-history/) instead.\n\n.. image:: https://img.shields.io/pypi/v/py2neo.svg\n :target: https://pypi.python.org/pypi/py2neo\n :alt: PyPI version\n\n.. image:: https://img.shields.io/pypi/dm/py2neo\n :target: https://pypi.python.org/pypi/py2neo\n :alt: PyPI Downloads\n\n.. image:: https://img.shields.io/github/license/neo4j-contrib/py2neo.svg\n :target: https://www.apache.org/licenses/LICENSE-2.0\n :alt: License\n\n.. image:: https://coveralls.io/repos/github/neo4j-contrib/py2neo/badge.svg?branch=master\n :target: https://coveralls.io/github/neo4j-contrib/py2neo?branch=master\n :alt: Coverage Status\n\n\n**Py2neo** is a client library and toolkit for working with `Neo4j <https://neo4j.com/>`_ from within `Python <https://www.python.org/>`_ applications.\nThe library supports both Bolt and HTTP and provides a high level API, an OGM, admin tools, a Cypher lexer for Pygments, and many other bells and whistles.\n\nCommand line tooling has been removed from the library in py2neo 2021.2.\nThis functionality now exists in the separate **ipy2neo** project.\n\nAs of version 2021.1, py2neo contains full support for routing, as exposed by a Neo4j cluster.\nThis can be enabled using a ``neo4j://...`` URI or by passing ``routing=True`` to a ``Graph`` constructor.\n\n\nInstallation & Compatibility\n----------------------------\n\nTo install the latest release of py2neo, simply use:\n\n.. code-block:: bash\n\n $ pip install py2neo\n\nThe following versions of Python and Neo4j (all editions) are supported:\n\n.. list-table::\n :header-rows: 1\n\n * - Neo4j\n - Python 3.5+\n - Python 2.7\n * - 4.4\n - |test-neo44-py35+|\n - |test-neo44-py27|\n * - 4.3\n - |test-neo43-py35+|\n - |test-neo43-py27|\n * - 4.2\n - |test-neo42-py35+|\n - |test-neo42-py27|\n * - 4.1\n - |test-neo41-py35+|\n - |test-neo41-py27|\n * - 4.0\n - |test-neo40-py35+|\n - |test-neo40-py27|\n * - 3.5\n - |test-neo35-py35+|\n - |test-neo35-py27|\n * - 3.4\n - |test-neo34-py35+|\n - |test-neo34-py27|\n\nNote that py2neo is developed and tested under **Linux** using standard CPython distributions.\nWhile other operating systems and Python distributions may work, support for these is not available.\n\n\nQuick Example\n-------------\n\nTo run a query against a local database is straightforward::\n\n >>> from py2neo import Graph\n >>> graph = Graph(\"bolt://localhost:7687\", auth=(\"neo4j\", \"password\"))\n >>> graph.run(\"UNWIND range(1, 3) AS n RETURN n, n * n as n_sq\")\n n | n_sq\n -----|------\n 1 | 1\n 2 | 4\n 3 | 9\n\n\nReleases & Versioning\n---------------------\n\nAs of 2020, py2neo has switched to `Calendar Versioning <https://calver.org/>`_, using a scheme of ``YYYY.N.M``.\nHere, ``N`` is an incrementing zero-based number for each year, and ``M`` is a revision within that version (also zero-based).\n\nNo compatibility guarantees are given between versions, but as a general rule, a change in ``M`` should require little-to-no work within client applications,\nwhereas a change in ``N`` may require some work. A change to the year is likely to require a more significant amount of work to upgrade.\n\nNote that py2neo is developed on a rolling basis, so patches are not made to old versions.\nUsers will instead need to install the latest release to adopt bug fixes.\n\n\nMore\n----\n\nFor more information, read the `handbook <http://py2neo.org/>`_.\n\n\n.. |test-neo44-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo44-py27.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo44-py27.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 4.4 using py27\n\n.. |test-neo44-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo44-py35+.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo44-py35+.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 4.4 using py35+\n\n.. |test-neo43-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo43-py27.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo43-py27.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 4.3 using py27\n\n.. |test-neo43-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo43-py35+.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo43-py35+.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 4.3 using py35+\n\n.. |test-neo42-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo42-py27.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo42-py27.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 4.2 using py27\n\n.. |test-neo42-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo42-py35+.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo42-py35+.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 4.2 using py35+\n\n.. |test-neo41-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo41-py27.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo41-py27.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 4.1 using py27\n\n.. |test-neo41-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo41-py35+.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo41-py35+.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 4.1 using py35+\n\n.. |test-neo40-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo40-py27.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo40-py27.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 4.0 using py27\n\n.. |test-neo40-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo40-py35+.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo40-py35+.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 4.0 using py35+\n\n.. |test-neo35-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo35-py27.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo35-py27.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 3.5 using py27\n\n.. |test-neo35-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo35-py35+.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo35-py35+.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 3.5 using py35+\n\n.. |test-neo34-py27| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo34-py27.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo34-py27.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 3.4 using py27\n\n.. |test-neo34-py35+| image:: https://img.shields.io/github/actions/workflow/status/neo4j-contrib/py2neo/test-neo34-py35+.yml\n :target: https://github.com/neo4j-contrib/py2neo/actions/workflows/test-neo34-py35+.yml?query=branch%3Amaster\n :alt: GitHub workflow status for tests against Neo4j 3.4 using py35+\n\n\n",
"bugtrack_url": null,
"license": "Apache License, Version 2.0",
"summary": "Python client library and toolkit for Neo4j",
"version": "2021.2.4",
"project_urls": {
"Bug Tracker": "https://github.com/technige/py2neo/issues",
"Documentation": "https://py2neo.org/2021.2/",
"Homepage": "https://py2neo.org/",
"Source Code": "https://github.com/technige/py2neo"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b6e5d97c8adbda3b9a6957c572f05a8427661194832d4709b90c108b7e868268",
"md5": "1835c36bc82d92a13294830df67d0385",
"sha256": "2ddbe818354a6fa16d47dfd0fe5cb0287fa42ff109e87aa7b3e43636060d85a1"
},
"downloads": -1,
"filename": "py2neo-2021.2.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "1835c36bc82d92a13294830df67d0385",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 177217,
"upload_time": "2023-10-20T15:18:09",
"upload_time_iso_8601": "2023-10-20T15:18:09.368718Z",
"url": "https://files.pythonhosted.org/packages/b6/e5/d97c8adbda3b9a6957c572f05a8427661194832d4709b90c108b7e868268/py2neo-2021.2.4-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "96bbfd298b06181fc4aace4838d91e6b511184ad1f3e5fe9cffee7878c66f14a",
"md5": "6842bd819484e56b2fedbfd31bd32e3e",
"sha256": "4b2737fcd9fd8d82b57e856de4eda005281c9cf0741c989e5252678f0503f77e"
},
"downloads": -1,
"filename": "py2neo-2021.2.4.tar.gz",
"has_sig": false,
"md5_digest": "6842bd819484e56b2fedbfd31bd32e3e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 159157,
"upload_time": "2023-10-20T15:18:11",
"upload_time_iso_8601": "2023-10-20T15:18:11.531049Z",
"url": "https://files.pythonhosted.org/packages/96/bb/fd298b06181fc4aace4838d91e6b511184ad1f3e5fe9cffee7878c66f14a/py2neo-2021.2.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-20 15:18:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "technige",
"github_project": "py2neo",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "py2neo"
}