f,

name: str,

description: Optional[str] = None,tags: Optional[Dict[str, str]] = None,

) -> RegisteredModel:

"""Registers a model in the model registry."""

@abstractmethod

def delete_model(

self,

name: str,

) -> None:

"""Deletes a registered model from the model registry."""

@abstractmethod

def update_model(

self,

name: str,

description: Optional[str] = None,

tags: Optional[Dict[str, str]] = None,

) -> RegisteredModel:

"""Updates a registered model in the model registry."""

@abstractmethod

def get_model(self, name: str) -> RegisteredModel:

"""Gets a registered model from the model registry."""

@abstractmethod

def list_models(

self,

name: Optional[str] = None,

tags: Optional[Dict[str, str]] = None,

) -> List[RegisteredModel]:

"""Lists all registered models in the model registry."""

# ---------

# Model Version Methods

# ---------

@abstractmethod

def register_model_version(

self,

name: str,

description: Optional[str] = None,

tags: Optional[Dict[str, str]] = None,

model_source_uri: Optional[str] = None,

version: Optional[str] = None,

description: Optional[str] = None,

tags: Optional[Dict[str, str]] = None,

metadata: Optional[Dict[str, str]] = None,

zenml_version: Optional[str] = None,

zenml_run_name: Optional[str] = None,

zenml_pipeline_name: Optional[str] = None,

zenml_step_name: Optional[str] = None,

**kwargs: Any,

) -> RegistryModelVersion:

"""Registers a model version in the model registry."""

@abstractmethod

def delete_model_version(

self,

name: str,

version: str,

) -> None:

"""Deletes a model version from the model registry."""

@abstractmethod

def update_model_version(

self,

name: str,

version: str,

description: Optional[str] = None,

tags: Optional[Dict[str, str]] = None,

stage: Optional[ModelVersionStage] = None,

) -> RegistryModelVersion:

"""Updates a model version in the model registry."""

@abstractmethod

def list_model_versions(

self,

name: Optional[str] = None,

model_source_uri: Optional[str] = None,