Skip to content

graflo.connections

Connection configuration and runtime credential resolution.

This package is the single home for how to reach things:

  • :mod:graflo.connections.onto — target-DB config models (DBConfig and per-backend subclasses). Pure pydantic; importable without any DB driver.
  • :mod:graflo.connections.graflo_backend — config for the on-disk GraFlo backend.
  • :mod:graflo.connections.mapping — DBType → config-class mapping.
  • :mod:graflo.connections.sources — runtime source connection models (REST API, Kafka, SPARQL, S3 credentials).
  • :mod:graflo.connections.provider — ConnectionProvider protocol resolving conn_proxy labels to runtime configs (keeps YAML manifests secret-free).

Layering: onto / graflo_backend / mapping / sources sit below graflo.architecture.contract (bindings reference PostgresConfig); provider sits above it (it resolves contract connectors). The façade is lazy so importing one side never drags in the other.

Modules:

Name Description
graflo_backend

Configuration for GraFlo file backend connections.

mapping
onto
provider

Runtime connection/config resolution for source connectors.

sources

Pydantic models for runtime source connection configuration.

Attributes

__all__ = ['DB_TYPE_MAPPING', 'TARGET_DATABASES', 'ApiAuth', 'ApiGeneralizedConnConfig', 'ArangoConfig', 'ConnectionProvider', 'DBConfig', 'EmptyConnectionProvider', 'FalkordbConfig', 'GeneralizedConnConfig', 'GraFloBackendConfig', 'GraphDBConfig', 'InMemoryConnectionProvider', 'KafkaConnConfig', 'KafkaGeneralizedConnConfig', 'KafkaSecurityProtocol', 'MemgraphConfig', 'NebulaConfig', 'Neo4jConfig', 'PostgresConfig', 'PostgresGeneralizedConnConfig', 'RestApiConnConfig', 'S3GeneralizedConnConfig', 'SparqlAuth', 'SparqlEndpointConfig', 'SparqlGeneralizedConnConfig', 'TigergraphBulkLoadConfig', 'TigergraphBulkLoadJobOptions', 'TigergraphConfig', 'get_config_class'] module-attribute

Functions:

__dir__()

Source code in graflo/connections/__init__.py
def __dir__() -> list[str]:
    return sorted(__all__)

__getattr__(name)

Source code in graflo/connections/__init__.py
def __getattr__(name: str) -> Any:
    if name in _EXPORTS:
        import importlib

        value = getattr(importlib.import_module(_EXPORTS[name]), name)
        globals()[name] = value
        return value
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")