skillfed

neo4j-driver

Neo4j Bolt driver for Python

neo4j-driver v5.28.4 104.6K downloads/30d#12,743 on PyPI1,049
Permissive license Apache License, Version 2.0 Active released

What it is and what it does

neo4j-driver is the official Python client for Neo4j graph databases, providing synchronous and asynchronous APIs to execute Cypher queries and manage graph data. It implements the Bolt protocol for efficient communication with Neo4j servers and supports modern Python versions from 3.7 through 3.13. The driver handles connection pooling, transaction management, and result streaming automatically.

The package is now deprecated in favor of installing the neo4j package instead, which is a drop-in replacement. However, neo4j-driver continues to receive updates through the 5.x series and will stop receiving updates starting with version 6.0.0. Its single runtime dependency is pytz, keeping the installation lightweight. It is actively maintained with a monthly release cadence aligned with Neo4j DBMS versioning.

Use it for:

  • Build Python applications that query and manipulate graph data stored in Neo4j databases.
  • Execute Cypher queries with parameters to retrieve or modify relationships and nodes.
  • Implement async workflows for non-blocking database operations in concurrent applications.
  • Manage connection pooling and transaction semantics automatically in multi-threaded environments.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Python driver for connecting to and querying Neo4j graph databases using the Bolt protocol, with support for both synchronous and asynchronous operations.

Yes, but with a caveat: this package is deprecated and the project recommends installing neo4j instead, which is a drop-in replacement. If you are starting a new project, install neo4j. If you have existing code using neo4j-driver, it remains functional and actively maintained through version 5.x, but plan a migration to neo4j before version 6.0.0 is released. The driver itself is well-maintained, has no known vulnerabilities, and installs cleanly.

Install

neo4j-driver on PyPI

pip

pip install neo4j-driver

uv

uv add neo4j-driver

poetry

poetry add neo4j-driver

Installing neo4j-driver

Before you install

Low friction installation with a single pure-Python wheel dependency (pytz). Actively maintained with monthly release cadence; last commit 2026-07-21. Package is deprecated in favor of the neo4j alias, but continues to receive updates through version 5.x.

License in practice

Apache License 2.0 (permissive) allows commercial and private use with minimal restrictions. Safe for most projects.

Quickstart

pip install neo4j-driver

from neo4j import GraphDatabase

with GraphDatabase.driver("neo4j://localhost:7687", auth=("user", "password")) as driver:
    records, _, _ = driver.execute_query("MATCH (n) RETURN n LIMIT 1")
    for record in records:
        print(record)

Requires a running Neo4j server instance accessible at the specified URI; Python 3.7 or later.

Verify before relying

  • Performance characteristics compared to the neo4j alias package (the recommended replacement).
  • Whether Rust extensions mentioned in docs are available or required for specific use cases.

Package facts

License Apache License, Version 2.0 (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 1 — pytz
Maintenance actively maintained — 102 days since the last release
Last repo commit
First released
Downloads 104,608/month — #12,743 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: neo4j_driver-5.28.4-py3-none-any.whl

Keywords: neo4j, graph, database

Development Status :: 5 - Production/StableFramework :: AsyncIOIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: DatabaseTopic :: Software DevelopmentTyping :: Typed

Tags

neo4j graph database driverbolt protocol pythongraph database clientcypher query executionneo4j connection drivergraph database pythonneo4j async driver
graph-databasedeprecated-alias

More Software Development packages