py2neo

EOL! Py2neo is a comprehensive Neo4j driver library and toolkit for Python.

https://github.com/neo4j-contrib/py2neo

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 40 committers (5.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.0%) to scientific vocabulary

Keywords

neo4j neo4j-database neo4j-driver neo4j-graph neo4j-ogm python

Keywords from Contributors

driver binary-protocol cypher database-driver graph-database protocol query-language
Last synced: 6 months ago · JSON representation

Repository

EOL! Py2neo is a comprehensive Neo4j driver library and toolkit for Python.

Basic Info
  • Host: GitHub
  • Owner: neo4j-contrib
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Homepage: https://py2neo.org
  • Size: 8.9 MB
Statistics
  • Stars: 30
  • Watchers: 2
  • Forks: 12
  • Open Issues: 25
  • Releases: 23
Topics
neo4j neo4j-database neo4j-driver neo4j-graph neo4j-ogm python
Created over 14 years ago · Last pushed over 2 years ago
Metadata Files
Readme License

README.rst

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

** **For archival purposes, ownership of Py2neo has now been officially transferred to Neo4j. In return, Neo4j have very kindly made a generous donation to The Bone Cancer Research Trust . The new project home is at . I am hugely grateful to everyone who has contributed to and used this project over the years. --Nigel** **

The version history of py2neo on PyPI got lost.
If you need an older version, you can install |py2neo-history|_ instead.

.. |py2neo-history| replace:: ``py2neo-history``
.. _py2neo-history:  https://pypi.org/project/py2neo-history/

.. 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 `_ from within `Python `_ 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 `_, 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 `_.


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

Owner

  • Name: Neo4j Contrib
  • Login: neo4j-contrib
  • Kind: organization

Public, Open Source Contributions to the Neo4j Ecosystem: Tools, Drivers, Documentation, Visualization

GitHub Events

Total
  • Watch event: 13
  • Issue comment event: 6
  • Member event: 7
  • Fork event: 4
Last Year
  • Watch event: 13
  • Issue comment event: 6
  • Member event: 7
  • Fork event: 4

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 2,819
  • Total Committers: 40
  • Avg Commits per committer: 70.475
  • Development Distribution Score (DDS): 0.737
Past Year
  • Commits: 3
  • Committers: 2
  • Avg Commits per committer: 1.5
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email Commits
Nigel Small n****l@n****m 740
Nigel Small n****l@n****m 595
Nigel Small n****l@n****e 493
Nigel Small n****l@n****m 381
Nigel Small n****l@p****e 175
Nigel Small n****l@p****m 150
Nigel Small n****l@g****m 97
Simon n****r@g****m 91
Nigel Small n****l@o****m 20
Nigel Small t****e@n****h 20
Nigel Small n****l@m****m 7
Ulrich Meier u****r@l****e 6
Nigel Small n****l@a****t 4
Robsdedude r****r@n****m 4
Jonathan Baugh j****x@g****m 3
Tim van Boxtel t****m@v****a 3
Marco Montanari s****o@g****m 2
Marcus Karlsson mk@a****e 2
Patrick Carlson c****p@i****u 2
Rafal Janicki r****l@k****o 2
Robin Edwards r****e@g****m 2
laeg l****g@o****m 2
Florian Pieper f****n@a****e 1
Johan Lundberg l****g@n****t 1
Johannes Mockenhaupt g****b@j****e 1
John O'Brien b****m@g****m 1
Jose Luis Arenas j****s@m****m 1
Leo Urbina l****o@b****m 1
Marius Conjeaud r****j@n****m 1
Matthew Williams m****s@H****) 1
and 10 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 4
  • Total pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 days
  • Total issue authors: 4
  • Total pull request authors: 2
  • Average comments per issue: 3.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • kaiyangtongxue (1)
  • Louis24 (1)
  • slinkish (1)
  • ashwathan (1)
Pull Request Authors
  • robsdedude (3)
  • technige (1)
Top Labels
Issue Labels
bug (1) question (1)
Pull Request Labels

Dependencies

.github/workflows/gh_pages.yml actions
  • actions/checkout v4 composite
  • actions/configure-pages v3 composite
  • actions/deploy-pages v2 composite
  • actions/upload-pages-artifact v2 composite
.github/workflows/publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/test-neo34-py27.yml actions
  • MatteoH2O1999/setup-python v2 composite
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo34-py35+.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo35-py27.yml actions
  • MatteoH2O1999/setup-python v2 composite
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo35-py35+.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo40-py27.yml actions
  • MatteoH2O1999/setup-python v2 composite
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo40-py35+.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo41-py27.yml actions
  • MatteoH2O1999/setup-python v2 composite
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo41-py35+.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo42-py27.yml actions
  • MatteoH2O1999/setup-python v2 composite
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo42-py35+.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo43-py27.yml actions
  • MatteoH2O1999/setup-python v2 composite
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo43-py35+.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo44-py27.yml actions
  • MatteoH2O1999/setup-python v2 composite
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
.github/workflows/test-neo44-py35+.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/setup-python v2 composite
  • coverallsapp/github-action master composite
docs/requirements.txt pypi
  • docutils *
  • sphinx *
requirements.txt pypi
  • certifi *
  • interchange *
  • monotonic *
  • packaging *
  • pansi >=2020.7.3
  • pygments >=2.0.0
  • six >=1.15.0
  • urllib3 *
setup.py pypi
test/requirements.txt pypi
  • coverage * test
  • pytest * test
  • pytest-threadleak * test
test/vendor/grolt/requirements.txt pypi
  • certifi * test
  • click <8.0 test
  • click * test
  • cryptography * test
  • docker <5.0 test
  • docker * test
  • monotonic * test
  • py2neo >=2021.1.4 test
  • pyreadline >=2.1 test
  • six * test
test/vendor/grolt/setup.py pypi