skillfed

neo4j

Neo4j Bolt driver for Python

neo4j v6.2.0 14.9M downloads/30d#1,211 on PyPI1,049
Permissive license Apache-2.0 AND Python-2.0 Active released

What it is and what it does

Neo4j is the official Python driver for the Neo4j graph database, providing a Bolt protocol client for executing Cypher queries and managing graph transactions. It abstracts connection pooling, routing, and session management, allowing developers to focus on query logic rather than protocol details.

The driver supports both synchronous and asynchronous workflows, with a single runtime dependency (pytz) and no compiled dependencies in the base install. It is actively maintained, supports Python 3.10 through 3.14, and carries no known security vulnerabilities. Optional Rust extensions can be installed separately for performance optimization, but the pure Python version is suitable for most use cases.

Use it for:

  • Building web applications that query a Neo4j graph database for relationship-heavy data like social networks or recommendation engines.
  • Executing Cypher queries with parameter binding to retrieve or modify graph nodes and relationships.
  • Implementing read-write transaction patterns with automatic connection pooling and failover in production environments.
  • Integrating graph database operations into data pipelines or ETL workflows.
  • Prototyping graph algorithms and analyses without managing low-level Bolt protocol details.

Worth the install?

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

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

Yes. This is the official, actively maintained driver for Neo4j in Python, with low install friction, permissive licensing, no known vulnerabilities, and broad Python version support. Install it if you need to connect to a Neo4j database; it is the standard choice for that task.

Install

neo4j on PyPI

pip

pip install neo4j

uv

uv add neo4j

poetry

poetry add neo4j

Installing neo4j

Before you install

Low friction installation as a pure Python wheel. Actively maintained with recent commits and a stable production release cycle; supports current Python versions (3.10–3.14). Optional Rust extensions available for performance improvements but not required.

License in practice

Dual-licensed under Apache-2.0 and Python-2.0 (permissive). Safe for commercial and open-source use with minimal attribution requirements.

Quickstart

pip install neo4j

from neo4j import GraphDatabase

with GraphDatabase.driver("neo4j://localhost:7687", auth=("neo4j", "password")) as driver:
    records, _, _ = driver.execute_query(
        "MATCH (a:Person) RETURN a.name"
    )
    for record in records:
        print(record["a.name"])

Requires a running Neo4j server instance; connection URI and authentication credentials must be provided.

Verify before relying

  • Whether Rust extensions (neo4j-rust-ext) are available as an optional dependency or must be installed separately.
  • Specific performance characteristics or throughput limits compared to direct server access.

Package facts

License Apache-2.0 AND Python-2.0 (permissive)
Python support supports the current Python release (>=3.10)
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 14,903,559/month — #1,211 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: neo4j-6.2.0-py3-none-any.whl

Keywords: neo4j, graph, database

Development Status :: 5 - Production/StableFramework :: AsyncIOIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: DatabaseTopic :: Software DevelopmentTyping :: Typed

Tags

neo4j python drivergraph database clientbolt protocol pythonneo4j cypher queriesgraph database connectionneo4j async driverneo4j python client
graph-databasebolt-protocolasync-support

More Software Development packages