{"library":"neo4j-rust-ext","title":"Neo4j Rust Extensions","description":"neo4j-rust-ext is an official Python library that provides Rust extensions to accelerate the Neo4j Bolt driver for Python. It offers significant performance improvements, often 3x to 10x faster, particularly for use-cases involving few but large records. The library is a drop-in replacement for the standard `neo4j` driver, currently at version 6.1.0.0, and typically releases in alignment with major `neo4j` driver versions.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install neo4j-rust-ext"],"cli":null},"imports":["from neo4j import GraphDatabase"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom neo4j import GraphDatabase, RoutingControl\n\nURI = os.environ.get('NEO4J_URI', 'bolt://localhost:7687')\nUSERNAME = os.environ.get('NEO4J_USERNAME', 'neo4j')\nPASSWORD = os.environ.get('NEO4J_PASSWORD', 'password')\nDATABASE = os.environ.get('NEO4J_DATABASE', 'neo4j')\n\n\nclass Neo4jApp:\n    def __init__(self, uri, username, password):\n        self.driver = GraphDatabase.driver(uri, auth=(username, password))\n        self.driver.verify_connectivity()\n\n    def close(self):\n        self.driver.close()\n\n    def add_friend(self, name, friend_name):\n        # Queries are run against the default database unless specified.\n        # Explicitly setting database_='neo4j' for clarity, adjust as needed.\n        self.driver.execute_query(\n            \"MERGE (a:Person {name: $name}) \"\n            \"MERGE (friend:Person {name: $friend_name}) \"\n            \"MERGE (a)-[:KNOWS]->(friend)\",\n            name=name,\n            friend_name=friend_name,\n            database_=DATABASE,\n        )\n\n    def print_friends(self, name):\n        records, _, _ = self.driver.execute_query(\n            \"MATCH (a:Person)-[:KNOWS]->(friend) WHERE a.name = $name \"\n            \"RETURN friend.name ORDER BY friend.name\",\n            name=name,\n            database_=DATABASE,\n            routing_=RoutingControl.READ,\n        )\n        for record in records:\n            print(record[\"friend.name\"])\n\n\nif __name__ == \"__main__\":\n    app = Neo4jApp(URI, USERNAME, PASSWORD)\n    print(\"Adding friends...\")\n    app.add_friend(\"Arthur\", \"Guinevere\")\n    app.add_friend(\"Arthur\", \"Lancelot\")\n    app.add_friend(\"Arthur\", \"Merlin\")\n\n    print(\"Arthur's friends:\")\n    app.print_friends(\"Arthur\")\n    app.close()\n","lang":"python","description":"This quickstart demonstrates connecting to a Neo4j database and performing basic Cypher queries using the `neo4j` driver, which `neo4j-rust-ext` transparently enhances for performance. Ensure `NEO4J_URI`, `NEO4J_USERNAME`, and `NEO4J_PASSWORD` environment variables are set or modify the default values.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"5.28.4.0","pypi_latest":"6.2.0.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.2,"avg_import_s":0.71,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"neo4j-rust-ext","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.52,"mem_mb":30.1,"disk_size":"24.8M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"neo4j-rust-ext","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.38,"mem_mb":30.1,"disk_size":"25M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"neo4j-rust-ext","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.64,"mem_mb":31.8,"disk_size":"27.1M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"neo4j-rust-ext","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.58,"mem_mb":31.8,"disk_size":"27M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"neo4j-rust-ext","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.97,"mem_mb":31.8,"disk_size":"18.9M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"neo4j-rust-ext","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":1.04,"mem_mb":31.8,"disk_size":"19M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"neo4j-rust-ext","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.99,"mem_mb":32.3,"disk_size":"18.6M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"neo4j-rust-ext","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":1,"mem_mb":32.3,"disk_size":"19M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"neo4j-rust-ext","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.52,"mem_mb":29.8,"disk_size":"24.1M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"neo4j-rust-ext","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.5,"import_time_s":0.44,"mem_mb":29.8,"disk_size":"24M"}]}}