diff --git a/datamint/api/endpoints/deploy_model_api.py b/datamint/api/endpoints/deploy_model_api.py index 3f18f24..863fc5d 100644 --- a/datamint/api/endpoints/deploy_model_api.py +++ b/datamint/api/endpoints/deploy_model_api.py @@ -7,6 +7,7 @@ import httpx +from datamint.configs import DEFAULT_DEPLOY_MODEL_ALIAS from datamint.entities.deployjob import DeployJob from datamint.exceptions import JobTimeoutError, ResourceNotFoundError @@ -182,7 +183,7 @@ def remove_image(self, model_name: str, tag: str | None = None) -> dict: response = self._make_request('DELETE', f'/{self.endpoint_base}/image/{model_name}', params=params) return response.json() - def image_exists(self, model_name: str, tag: str = "latest") -> bool: + def image_exists(self, model_name: str, tag: str = DEFAULT_DEPLOY_MODEL_ALIAS) -> bool: """Check if a model image exists.""" params = {'tag': tag} response = self._make_request('GET', f'/{self.endpoint_base}/image/{model_name}/exists', params=params) diff --git a/datamint/api/endpoints/model_types.py b/datamint/api/endpoints/model_types.py index 48b3a62..3c62972 100644 --- a/datamint/api/endpoints/model_types.py +++ b/datamint/api/endpoints/model_types.py @@ -7,6 +7,7 @@ from mlflow.entities.model_registry import RegisteredModel as MlflowRegisteredModel from datamint._repr_utils import render_html_card, render_text_block +from datamint.configs import DEFAULT_DEPLOY_MODEL_ALIAS from datamint.entities.annotations.annotation_spec import AnnotationSpec from datamint.mlflow.flavors.datamint_flavor import FLAVOR_NAME from datamint.mlflow.models.tags import DATAMINT_LOGGED_MODEL_ID_TAG @@ -198,7 +199,7 @@ def get_metrics(self, version: ModelVersion | None = None) -> dict[str, float]: version = version or self.get_latest_version() return version.get_metrics() if version else {} - def is_deployed(self, tag: str = 'latest') -> bool: + def is_deployed(self, tag: str = DEFAULT_DEPLOY_MODEL_ALIAS) -> bool: return self._api._deploy_api.image_exists(self.name, tag=tag) def get_projects(self) -> list['Project']: diff --git a/datamint/client_cmd_tools/datamint_init.py b/datamint/client_cmd_tools/datamint_init.py index ef3cf8a..215645d 100644 --- a/datamint/client_cmd_tools/datamint_init.py +++ b/datamint/client_cmd_tools/datamint_init.py @@ -413,7 +413,7 @@ api = Api() # Deploy the model registered during training. This can take a few minutes. -deploy_job = api.deploy.start(model_name=MODEL_NAME, model_alias="latest") +deploy_job = api.deploy.start(model_name=MODEL_NAME) print(f"Deploying '{MODEL_NAME}'... (this may take a few minutes)") deploy_job = deploy_job.wait() @@ -428,7 +428,6 @@ inf_job = api.inference.submit( model_name=MODEL_NAME, - model_alias="latest", resource_id=resource.id, ) inf_job = inf_job.wait() @@ -860,7 +859,7 @@ api = Api() # Deploy the model registered during training. This can take a few minutes. -deploy_job = api.deploy.start(model_name=MODEL_NAME, model_alias="latest") +deploy_job = api.deploy.start(model_name=MODEL_NAME) print(f"Deploying '{MODEL_NAME}'... (this may take a few minutes)") deploy_job = deploy_job.wait() @@ -875,7 +874,6 @@ inf_job = api.inference.submit( model_name=MODEL_NAME, - model_alias="latest", resource_id=resource.id, ) inf_job = inf_job.wait() @@ -1344,7 +1342,7 @@ def _overlay(ax, img_np, anns): api = Api() # Deploy the model registered during training. This can take a few minutes. -deploy_job = api.deploy.start(model_name=MODEL_NAME, model_alias="latest") +deploy_job = api.deploy.start(model_name=MODEL_NAME) print(f"Deploying '{MODEL_NAME}'... (this may take a few minutes)") deploy_job = deploy_job.wait() @@ -1359,7 +1357,6 @@ def _overlay(ax, img_np, anns): inf_job = api.inference.submit( model_name=MODEL_NAME, - model_alias="latest", resource_id=resource.id, ) inf_job = inf_job.wait() diff --git a/datamint/configs.py b/datamint/configs.py index db41b2c..97b8887 100644 --- a/datamint/configs.py +++ b/datamint/configs.py @@ -17,6 +17,8 @@ APIURL_KEY: 'https://api.datamint.io' } +DEFAULT_DEPLOY_MODEL_ALIAS = 'latest' + _LOGGER = logging.getLogger(__name__) DIRS = PlatformDirs(appname='datamintapi') diff --git a/datamint/exceptions.py b/datamint/exceptions.py index f8c038b..ef56cbb 100644 --- a/datamint/exceptions.py +++ b/datamint/exceptions.py @@ -1,3 +1,6 @@ +from datamint.configs import DEFAULT_DEPLOY_MODEL_ALIAS + + class DatamintException(Exception): """Base class for all Datamint exceptions.""" @@ -139,7 +142,7 @@ def __str__(self) -> str: ref = f"{self.model_name}:{self.model_alias}" deploy_kwarg = f"model_alias='{self.model_alias}'" else: - ref = f"{self.model_name}:champion" + ref = f"{self.model_name}:{DEFAULT_DEPLOY_MODEL_ALIAS}" deploy_kwarg = None deploy_call = f"api.deploy_model.start('{self.model_name}'"