Skip to main content

Graph database integration (cypher-graphdb) for sonnet-server applications

Project description

sonnet-graph

Graph database integration (cypher-graphdb) for sonnet-server applications.

Provides reusable infrastructure for sonnet-server apps that need a cypher-graphdb connection pool:

  • GraphDBExtension -- sonnet-server extension managing pool lifecycle (startup/shutdown), with optional mode for apps where graph is not required.
  • Pool context -- borrow_graphdb() context manager and get_current_graphdb() ambient session accessor via ContextVar.
  • Readiness checks -- GraphdbStage with initialization and health checks for the sonnet-server readiness pipeline.
  • FastAPI dependencies -- get_graphdb_session() async generator for router-level ambient sessions.

Installation

pip install sonnet-graph

Usage

from sonnet_graph import GraphDBExtension, borrow_graphdb, get_current_graphdb

# In app.py -- register the extension
_extension_registry = create_extension_registry(
    DatabaseExtension(),
    GraphDBExtension(),          # required (raises on missing CGDB_* settings)
    GraphDBExtension(optional=True),  # or optional (skips if unconfigured)
    ...
)

# In service code -- borrow a connection
with borrow_graphdb() as db:
    db.execute("MATCH (n) RETURN count(n)")

# In service code -- ambient session (within borrow_graphdb scope)
db = get_current_graphdb()

Configuration

Graph connection is configured via cypher-graphdb's own environment variables (not duplicated in consumer settings):

Variable Description
CGDB_BACKEND Backend type: age or memgraph
CGDB_CINFO Connection string / DSN
CGDB_GRAPH Graph name
CGDB_READ_ONLY Read-only mode (default: false)
CGDB_CREATE_GRAPH_IF_NOT_EXISTS Auto-create graph, AGE only (default: false)

Project details


Download files

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

Source Distribution

sonnet_graph-0.2.0.tar.gz (42.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sonnet_graph-0.2.0-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

File details

Details for the file sonnet_graph-0.2.0.tar.gz.

File metadata

  • Download URL: sonnet_graph-0.2.0.tar.gz
  • Upload date:
  • Size: 42.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sonnet_graph-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4ba7c729fc2e4b041294fcbbcded9b47f57848868266e2e1689aa5caa0f6b00e
MD5 66c0007ba61610f378254b6fb4a70086
BLAKE2b-256 e62ccbd35380b010ac6e0876e24cdcd88766976ca452c7976e5dec4011964dca

See more details on using hashes here.

Provenance

The following attestation bundles were made for sonnet_graph-0.2.0.tar.gz:

Publisher: publish.yml on petrarca/sonnet-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sonnet_graph-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: sonnet_graph-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 37.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sonnet_graph-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d66b5563ecccd41cbd099e7550e4567cc47dce4cafa01cb285ca0226585afb39
MD5 a53194f7bce76ac4664a08be49259ae4
BLAKE2b-256 533b51b08c7d5cfa2118cb0b4ad66a7ddfa0de3d310fd1119fb5235fb1a96cc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for sonnet_graph-0.2.0-py3-none-any.whl:

Publisher: publish.yml on petrarca/sonnet-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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