# {py:mod}`ovo.core.database.base_db` ```{py:module} ovo.core.database.base_db ``` ```{autodoc2-docstring} ovo.core.database.base_db :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`DBEngine ` - ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`T ` - ```{autodoc2-docstring} ovo.core.database.base_db.T :summary: ``` ```` ### API ````{py:data} T :canonical: ovo.core.database.base_db.T :value: > 'TypeVar(...)' ```{autodoc2-docstring} ovo.core.database.base_db.T ``` ```` `````{py:class} DBEngine :canonical: ovo.core.database.base_db.DBEngine Bases: {py:obj}`abc.ABC` ````{py:method} init() :canonical: ovo.core.database.base_db.DBEngine.init ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.init ``` ```` ````{py:method} save(obj: ovo.core.database.models.Base) :canonical: ovo.core.database.base_db.DBEngine.save :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.save ``` ```` ````{py:method} save_all(objs: typing.Sequence[ovo.core.database.models.Base]) :canonical: ovo.core.database.base_db.DBEngine.save_all :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.save_all ``` ```` ````{py:method} remove(model: typing.Type[ovo.core.database.base_db.T], *id_args, **kwargs) :canonical: ovo.core.database.base_db.DBEngine.remove :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.remove ``` ```` ````{py:method} save_value(model: typing.Type[ovo.core.database.base_db.T], column: str, value, *id_args, **kwargs) :canonical: ovo.core.database.base_db.DBEngine.save_value :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.save_value ``` ```` ````{py:method} count(model: typing.Type[ovo.core.database.base_db.T], field='id', **kwargs) -> typing.Sequence[ovo.core.database.base_db.T] :canonical: ovo.core.database.base_db.DBEngine.count :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.count ``` ```` ````{py:method} count_distinct(model: typing.Type[ovo.core.database.base_db.T], field='id', group_by=None, **kwargs) -> int :canonical: ovo.core.database.base_db.DBEngine.count_distinct :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.count_distinct ``` ```` ````{py:method} select(model: typing.Type[ovo.core.database.base_db.T], limit: int = None, order_by=None, **kwargs) -> typing.Sequence[ovo.core.database.base_db.T] :canonical: ovo.core.database.base_db.DBEngine.select :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.select ``` ```` ````{py:method} get(model: typing.Type[ovo.core.database.base_db.T], *id_args, **kwargs) -> ovo.core.database.base_db.T :canonical: ovo.core.database.base_db.DBEngine.get :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.get ``` ```` ````{py:method} get_value(model: typing.Type[ovo.core.database.base_db.T], column: str, *id_args, raw=False, **kwargs) :canonical: ovo.core.database.base_db.DBEngine.get_value :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.get_value ``` ```` ````{py:method} select_values(model: typing.Type[ovo.core.database.base_db.T], column: str, order_by=None, **kwargs) -> list :canonical: ovo.core.database.base_db.DBEngine.select_values :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.select_values ``` ```` ````{py:method} select_dict(model: typing.Type[ovo.core.database.base_db.T], key_column: str, value_column: str, order_by=None, **kwargs) -> dict :canonical: ovo.core.database.base_db.DBEngine.select_dict :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.select_dict ``` ```` ````{py:method} select_unique_values(model: typing.Type[ovo.core.database.base_db.T], column: str, **kwargs) -> set :canonical: ovo.core.database.base_db.DBEngine.select_unique_values :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.select_unique_values ``` ```` ````{py:method} select_descriptor_values(descriptor_key: str, design_ids: list[str]) -> pandas.Series :canonical: ovo.core.database.base_db.DBEngine.select_descriptor_values :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.select_descriptor_values ``` ```` ````{py:method} select_wide_descriptor_table(design_ids: list[str], descriptor_keys: list[str], **kwargs) -> pandas.DataFrame :canonical: ovo.core.database.base_db.DBEngine.select_wide_descriptor_table :abstractmethod: ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.select_wide_descriptor_table ``` ```` ````{py:method} __getattr__(name: str) -> ovo.core.database.db_proxy.DBProxy :canonical: ovo.core.database.base_db.DBEngine.__getattr__ ```{autodoc2-docstring} ovo.core.database.base_db.DBEngine.__getattr__ ``` ```` `````