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.1.2.tar.gz (30.2 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.1.2-py3-none-any.whl (28.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sonnet_graph-0.1.2.tar.gz
  • Upload date:
  • Size: 30.2 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.1.2.tar.gz
Algorithm Hash digest
SHA256 d56cc8df0104bf43a6fe6582ca7fa8bb7ae87894fc80ab9770e9f04f7fdeb07a
MD5 c3bd07b5a4c4fb0a3724cd8dae73b167
BLAKE2b-256 2d94f8b602796192af192226ffedf7a8882025571a3f61116159dc299e49addd

See more details on using hashes here.

Provenance

The following attestation bundles were made for sonnet_graph-0.1.2.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.1.2-py3-none-any.whl.

File metadata

  • Download URL: sonnet_graph-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 28.3 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.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d3c6905197702d741efd0fa49a8dcec9258087e52d679bcf056c8b8eb2da7b7a
MD5 239e221d72bf044d6b8053077f8de85a
BLAKE2b-256 4500bc164074acc56b3da02a50ce2236b14f39b52f4c5a04274b0d4845e30a7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for sonnet_graph-0.1.2-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