Warning

This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for galaxy.model.tool_shed_install.mapping

from typing import (
    Any,
    TYPE_CHECKING,
    Union,
)

from galaxy.model import tool_shed_install as install_model
from galaxy.model.base import ModelMapping
from galaxy.model.orm.engine_factory import build_engine
from galaxy.model.tool_shed_install import mapper_registry

if TYPE_CHECKING:
    from sqlalchemy.engine import Engine

metadata = mapper_registry.metadata


[docs] def init(url: str, engine_options: Union[dict[str, Any], None] = None, create_tables: bool = False) -> ModelMapping: engine = build_engine(url, engine_options) if create_tables: create_database_objects(engine) return configure_model_mapping(engine)
[docs] def create_database_objects(engine: "Engine") -> None: mapper_registry.metadata.create_all(bind=engine)
[docs] def configure_model_mapping(engine: "Engine") -> ModelMapping: # TODO: do we need to load local galaxy security policy? return ModelMapping([install_model], engine)