What problem does it solve?
It helps you build reliable Python application code that connects to Neo4j and correctly manages driver sessions, transactions, async execution, and result handling.
Core Features & Use Cases
- Driver lifecycle & connection setup: Create and reuse a single
GraphDatabase.driver (or AsyncGraphDatabase) instance, including verify_connectivity, correct URI schemes, and supported authentication methods.
- Correct query execution patterns: Use
execute_query as the safe default, choose between managed transactions (execute_read / execute_write) and implicit transactions (session.run), and understand retry and streaming/eagerness behavior.
- Robust results, types, and error handling: Access records safely, handle
Result lifetimes and JSON serialization pitfalls, map Python/Cypher data types (including temporal and graph objects), and catch Neo4j exceptions like ConstraintError and TransientError.
- Practical performance guardrails: Avoid common mistakes that cause session leaks, connection pool exhaustion, unnecessary round-trips (by always specifying
database_/database=), and unsafe UNWIND batching inputs.
Quick Start
Use the neo4j-driver-python-skill to write a Python service that initializes the Neo4j driver once, runs read/write work using execute_query and managed transactions, and returns JSON-safe scalars from query results.