--- id: neo4j version: "6.2.0" license: Apache-2.0 AND Python-2.0 license_treatment: permissive maintenance: active --- # neo4j — Neo4j Bolt driver for Python License: permissive · Maintenance: active · Downloads: 14.9M/mo ## 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 above — 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 pip install neo4j uv add neo4j 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_current - Install friction: low - Maintenance: active - Downloads: 14.9M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags neo4j python driver, graph database client, bolt protocol python, neo4j cypher queries, graph database connection, neo4j async driver, neo4j python client, graph-database, bolt-protocol, async-support [View on SkillFed](https://skillfed.io/packages/neo4j) · [View on PyPI](https://pypi.org/project/neo4j/)