Skip to content

Commit 00696df

Browse files
committed
Use a proper temp folder for creating the archive of an MLflow model
1 parent e1df57e commit 00696df

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

dataikuapi/dss/savedmodel.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import tempfile
2+
13
from .metrics import ComputedMetrics
24
from .ml import DSSMLTask
35
from .ml import DSSTrainedClusteringModelDetails
@@ -131,18 +133,19 @@ def import_mlflow_version_from_path(self, version_id, path, code_env_name = "INH
131133
:return a :class:MLFlowVersionHandler in order to interact with the new MLFlow model version
132134
"""
133135
# TODO: Add a check that it's indeed a MLFlow model folder
134-
# TODO: Put it in a proper temp folder
135136
# TODO: cleanup the archive
136137
import shutil
137138
import os
138-
shutil.make_archive("tmpmodel", "zip", path) #[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]])
139-
140-
with open("tmpmodel.zip", "rb") as fp:
141-
self.client._perform_empty("POST", "/projects/%s/savedmodels/%s/versions/%s?codeEnvName=%s" % (self.project_key, self.sm_id, version_id, code_env_name),
142-
files={"file":("tmpmodel.zip", fp)})
143-
os.remove("tmpmodel.zip")
144-
145-
return self.get_mlflow_version_handler(version_id)
139+
archive_temp_dir = tempfile.mkdtemp()
140+
try:
141+
archive_filename = shutil.make_archive(os.path.join(archive_temp_dir, "tmpmodel"), "zip", path) #[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]])
142+
143+
with open("tmpmodel.zip", "rb") as fp:
144+
self.client._perform_empty("POST", "/projects/%s/savedmodels/%s/versions/%s?codeEnvName=%s" % (self.project_key, self.sm_id, version_id, code_env_name),
145+
files={"file":(archive_filename, fp)})
146+
return self.get_mlflow_version_handler(version_id)
147+
finally:
148+
shutil.rmtree(archive_temp_dir)
146149

147150
def get_mlflow_version_handler(self, version_id):
148151
"""

0 commit comments

Comments
 (0)