Skip to main content

Neo4j Bolt driver for Python

Project description

This repository contains the official Neo4j driver for Python.

Starting with 5.0, the Neo4j Drivers will be moving to a monthly release cadence. A minor version will be released on the last Friday of each month so as to maintain versioning consistency with the core product (Neo4j DBMS) which has also moved to a monthly cadence.

As a policy, patch versions will not be released except on rare occasions. Bug fixes and updates will go into the latest minor version and users should upgrade to that. Driver upgrades within a major version will never contain breaking API changes.

See also: https://neo4j.com/developer/kb/neo4j-supported-versions/

  • Python 3.13 supported (since driver version 5.26.0).

  • Python 3.12 supported (since driver version 5.14.0).

  • Python 3.11 supported (since driver version 5.3.0).

  • Python 3.10 supported.

  • Python 3.9 supported.

  • Python 3.8 supported.

  • Python 3.7 supported.

Installation

To install the latest stable version, use:

pip install neo4j

Alternative Installation for Better Performance

You may want to have a look at the available Rust extensions for this driver for better performance. The Rust extensions are not installed by default. For more information, see neo4j-rust-ext.

Quick Example

from neo4j import GraphDatabase, RoutingControl


URI = "neo4j://localhost:7687"
AUTH = ("neo4j", "password")


def add_friend(driver, name, friend_name):
    driver.execute_query(
        "MERGE (a:Person {name: $name}) "
        "MERGE (friend:Person {name: $friend_name}) "
        "MERGE (a)-[:KNOWS]->(friend)",
        name=name, friend_name=friend_name, database_="neo4j",
    )


def print_friends(driver, name):
    records, _, _ = driver.execute_query(
        "MATCH (a:Person)-[:KNOWS]->(friend) WHERE a.name = $name "
        "RETURN friend.name ORDER BY friend.name",
        name=name, database_="neo4j", routing_=RoutingControl.READ,
    )
    for record in records:
        print(record["friend.name"])


with GraphDatabase.driver(URI, auth=AUTH) as driver:
    add_friend(driver, "Arthur", "Guinevere")
    add_friend(driver, "Arthur", "Lancelot")
    add_friend(driver, "Arthur", "Merlin")
    print_friends(driver, "Arthur")

Further Information

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neo4j-5.28.1.tar.gz (231.1 kB view details)

Uploaded Source

Built Distribution

neo4j-5.28.1-py3-none-any.whl (312.3 kB view details)

Uploaded Python 3

File details

Details for the file neo4j-5.28.1.tar.gz.

File metadata

  • Download URL: neo4j-5.28.1.tar.gz
  • Upload date:
  • Size: 231.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for neo4j-5.28.1.tar.gz
Algorithm Hash digest
SHA256 ae8e37a1d895099062c75bc359b2cce62099baac7be768d0eba7180c1298e214
MD5 f3ec0a8b42abbee6329ad5aeaf0ff54a
BLAKE2b-256 4b20733dac16f7cedc80b23093415822c9763302519cba0e7c8bcdb5c01fc512

See more details on using hashes here.

File details

Details for the file neo4j-5.28.1-py3-none-any.whl.

File metadata

  • Download URL: neo4j-5.28.1-py3-none-any.whl
  • Upload date:
  • Size: 312.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for neo4j-5.28.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6755ef9e5f4e14b403aef1138fb6315b120631a0075c138b5ddb2a06b87b09fd
MD5 d0f59c926954ec9a0805044ca00bcc0a
BLAKE2b-256 6a5794225fe5e9dabdc0ff60c88cbfcedf11277f4b34e7ab1373d3e62dbdd207

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page