diff --git a/hubble/executor/__init__.py b/hubble/executor/__init__.py index 96d0c9a..81da53c 100644 --- a/hubble/executor/__init__.py +++ b/hubble/executor/__init__.py @@ -15,3 +15,5 @@ class HubExecutor: archive_url: Optional[str] = None md5sum: Optional[str] = None build_env: Optional[list] = None + jina_version: Optional[str] = None + docarray_version: Optional[str] = None diff --git a/hubble/executor/hubio.py b/hubble/executor/hubio.py index b8c711e..950b3a7 100644 --- a/hubble/executor/hubio.py +++ b/hubble/executor/hubio.py @@ -1058,8 +1058,16 @@ def _send_request_with_retry(url, **kwargs): return resp pull_url = urljoin(hubble.utils.get_base_url(), 'executor.getPackage') + try: + from jina import __version__ as jina_version + except ImportError: + jina_version = __unset_msg__ + try: + from docarray import __version__ as docarray_version + except ImportError: + docarray_version = __unset_msg__ - payload = {'id': name, 'include': ['code'], 'rebuildImage': rebuild_image} + payload = {'id': name, 'include': ['code'], 'rebuildImage': rebuild_image, 'jina': jina_version, 'docarray': docarray_version} if image_required: payload['include'].append('docker') if secret: @@ -1091,6 +1099,8 @@ def _send_request_with_retry(url, **kwargs): archive_url=resp['package']['download'], md5sum=resp['package']['md5'], build_env=list(buildEnv.keys()) if buildEnv else [], + jina_version=jina_version, + docarray_version=docarray_version ) @staticmethod @@ -1106,6 +1116,10 @@ def deploy_public_sandbox(args: Union[argparse.Namespace, Dict]) -> str: from jina import __version__ as jina_version except ImportError: jina_version = __unset_msg__ + try: + from docarray import __version__ as docarray_version + except ImportError: + docarray_version = __unset_msg__ args_copy = copy.deepcopy(args) if not isinstance(args_copy, Dict): @@ -1116,6 +1130,7 @@ def deploy_public_sandbox(args: Union[argparse.Namespace, Dict]) -> str: 'name': name, 'tag': tag if tag else 'latest', 'jina': jina_version, + 'docarray': docarray_version, 'args': args_copy, 'secret': secret, }