Clients
Python and JetGraph
Python applications typically use a compatible Neo4j Bolt driver for the supported openCypher subset, or the HTTP Cypher API. There is no claim of a separate official PyPI “jetgraph” package on this page.
On this page
Bolt with the neo4j driver
Demo server: bolt://localhost:7687 with empty auth, as documented in Bolt. Production must not use empty credentials on a public network.
python
from neo4j import GraphDatabase
driver = GraphDatabase.driver("bolt://localhost:7687", auth=("", ""))
with driver.session() as session:
session.run(
"CREATE (u:USER {external_id: $id})",
id="user-bolt-001",
)
result = session.run(
"MATCH (u:USER) RETURN u.external_id AS id LIMIT 5"
)
for record in result:
print(record["id"])
driver.close()
HTTP Cypher
python
import json, urllib.request
body = json.dumps({
"query": "MATCH (c:CARD {external_id: $id}) RETURN c.external_id AS id",
"parameters": {"id": "card-001"},
}).encode()
req = urllib.request.Request(
"http://localhost:8080/cypher",
data=body,
headers={"Content-Type": "application/json"},
method="POST",
)
print(urllib.request.urlopen(req).read().decode())
Subset limits
These drivers do not unlock full Neo4j Cypher. See the Cypher manual. For typed feature APIs (velocity, flag, streaming ingest), use gRPC — the official high-performance client is Rust; Python can call the same protobuf services if you generate stubs.
Related: HTTP API, examples, integrations.