py2neo
Python client library and toolkit for Neo4j
What it is and what it does
Py2neo is a Python client library for working with Neo4j graph databases. It provides both Bolt and HTTP protocol support, a high-level query API, an object-graph mapper (OGM), admin tools, and a Cypher lexer for syntax highlighting via Pygments. The library handles connection routing for Neo4j clusters and supports authentication.
However, the project is explicitly end-of-life. The maintainers have announced no further updates and recommend using official Neo4j drivers instead. While the package remains installable and functional for existing deployments, it receives no bug fixes, security patches, or feature development.
Use it for:
- Running Cypher queries against a Neo4j database from Python code with a simple high-level API.
- Building object-graph mappings to work with Neo4j data as Python objects via the OGM layer.
- Connecting to Neo4j clusters with automatic routing support using neo4j:// URIs.
- Prototyping or maintaining legacy Python applications that already depend on py2neo.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Py2neo is a Python client library for Neo4j that provides Bolt and HTTP connectivity, a high-level API, an OGM, and Cypher tooling—though the project is now end-of-life with no further updates planned.
No—not for new projects. The package is end-of-life with no further updates, and the maintainers explicitly recommend official Neo4j drivers instead. For existing codebases already using py2neo, it remains functional but will not receive security patches or bug fixes. Use official Neo4j drivers for any new development.
Install
py2neo on PyPI
pip
pip install py2neouv
uv add py2neopoetry
poetry add py2neoInstalling py2neo
Before you install
Installation is straightforward with low friction; however, the project is explicitly marked end-of-life with no further updates. The last commit was 2023-11-30, and the maintainers recommend using official Neo4j drivers instead. The repository remains unarchived but dormant.
License in practice
Licensed under Apache License, Version 2.0 (permissive), which allows commercial and private use with minimal restrictions—no licensing barrier to adoption.
Quickstart
pip install py2neo
from py2neo import Graph
graph = Graph("bolt://localhost:7687", auth=("neo4j", "password"))
result = graph.run("UNWIND range(1, 3) AS n RETURN n, n * n as n_sq")
Requires a running Neo4j instance accessible at the specified URI; development and testing are documented for Linux with standard CPython distributions.
Verify before relying
- Current compatibility with Neo4j versions released after 2023-11-30.
- Whether the eight runtime dependencies remain compatible with modern Python and Neo4j versions.
- Stability and security posture of the package given its end-of-life status and lack of active maintenance.
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 8 — certifi, interchange, monotonic, packaging, pansi, pygments, six, urllib3 |
| Maintenance | dormant — 1,029 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 85,554/month — #13,915 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: py2neo-2021.2.4-py2.py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
py2neo-historyProvides access to archived versions of the…
permissive · top 15,000 on PyPI
neomodelAn Object Graph Mapper (OGM) for Neo4j that…
permissive · top 15,000 on PyPI
neo4jOfficial Python driver for connecting to and…
permissive · top 5,000 on PyPI
neo4j-driverPython driver for connecting to and querying…
permissive · top 15,000 on PyPI
neo4j-rust-extRust-compiled extensions that accelerate the…
permissive · top 15,000 on PyPI
graphlibProvides a Python API for creating,…
permissive · top 15,000 on PyPI
graphdatascienceA Python client for Neo4j Graph Data Science…
permissive · top 15,000 on PyPI
langchain-neo4jIntegrates Neo4j graph databases with…
permissive · top 15,000 on PyPI
neo4j-graphragBuilds graph retrieval-augmented generation…
permissive · top 15,000 on PyPI
FalkorDBFalkorDB Python client for querying and…
permissive · top 15,000 on PyPI