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.0.tar.gz (9.5 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.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sonnet_graph-0.1.0.tar.gz
  • Upload date:
  • Size: 9.5 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.0.tar.gz
Algorithm Hash digest
SHA256 4f0ca9cf9320a2b77fc814217fdfdcc9839c030e8f035dbae95536cb9e85bf45
MD5 f3bc9bca51475b49e26a1cef7cb082a6
BLAKE2b-256 89ee8045d4ffd08dc534e2e2b2b1ab85c6a92a3d15c81196eddb801b165aa9d4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sonnet_graph-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eec1a0a2a1e24fdee0061ec74ca653b6ac83acb802abeb4840c0df2c14a205f2
MD5 96d80190b3e7d74a81c3f0d7e5e9fa55
BLAKE2b-256 cca13bd99514baa6af456b611c6a9b678fa1bbbb59b18d6ba797fdccd8ae19d4

See more details on using hashes here.

Provenance

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