From d6f30ae5835acb1b06edb8066f33669386bd8c2c Mon Sep 17 00:00:00 2001 From: thejumpman2323 Date: Wed, 29 Nov 2023 00:43:38 +0530 Subject: [PATCH] Add databackend option in --- superduperdb/base/build.py | 7 +++++-- superduperdb/base/superduper.py | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/superduperdb/base/build.py b/superduperdb/base/build.py index 6c3f7e7e93..ab1d1fea41 100644 --- a/superduperdb/base/build.py +++ b/superduperdb/base/build.py @@ -68,11 +68,13 @@ def build_compute(cfg): return LocalComputeBackend() -def build_datalayer(cfg=None, **kwargs) -> Datalayer: +def build_datalayer(cfg=None, databackend=None, **kwargs) -> Datalayer: """ Build a Datalayer object as per ``db = superduper(db)`` from configuration. :param cfg: Configuration to use. If None, use ``superduperdb.CFG``. + :param databackend: Databacked to use. + If None, use ``superduperdb.CFG.data_backend``. """ # Configuration @@ -87,7 +89,8 @@ def build_datalayer(cfg=None, **kwargs) -> Datalayer: # Connect to data backend. # ------------------------------ try: - databackend = build(cfg.data_backend, data_backends) + if not databackend: + databackend = build(cfg.data_backend, data_backends) logging.info("Data Client is ready.", databackend.conn) except Exception as e: # Exit quickly if a connection fails. diff --git a/superduperdb/base/superduper.py b/superduperdb/base/superduper.py index 384ee02b9c..4fa753df12 100644 --- a/superduperdb/base/superduper.py +++ b/superduperdb/base/superduper.py @@ -107,7 +107,7 @@ def create(cls, item: t.Any, **kwargs) -> t.Any: logging.warn('Note: This is only recommended in development mode') databackend = MongoDataBackend(conn=item.client, name=item.name) - return build_datalayer(cfg=CFG, data_backend=databackend, **kwargs) + return build_datalayer(cfg=CFG, databackend=databackend, **kwargs) class SklearnTyper(_DuckTyper):