diff --git a/src/mednet/scripts/upload.py b/src/mednet/scripts/upload.py
index d8b1a4c2a8e583cd6f559abf1abc3c950c4686a8..8b94459754529398b8bd71682f722c550ab3eb11 100644
--- a/src/mednet/scripts/upload.py
+++ b/src/mednet/scripts/upload.py
@@ -2,16 +2,8 @@
 #
 # SPDX-License-Identifier: GPL-3.0-or-later
 
-import configparser
-import json
-import os
 import pathlib
-import shutil
-import tempfile
-
 import click
-import gitlab
-import mlflow
 from clapper.click import ResourceOption, verbosity_option
 from clapper.logging import setup
 
@@ -27,6 +19,8 @@ def _get_gitlab_config():
     -------
         Gitlab entry and credential.
     """
+    import gitlab
+    import configparser
 
     cfg = pathlib.Path("~/.python-gitlab.cfg").expanduser()
     if cfg.exists():
@@ -56,6 +50,8 @@ def _create_temp_copy(source, target):
     -------
         Path to target file in temp folder.
     """
+    import shutil
+    import tempfile
 
     temp_dir = pathlib.Path(tempfile.gettempdir())
     target = temp_dir / target
@@ -120,6 +116,9 @@ def upload(
     **_,  # ignored
 ) -> None:  # numpydoc ignore=PR01
     """Upload results from an experiment folder."""
+    import os
+    import json
+    import mlflow
 
     logger.info("Getting Gitlab credentials for accessing to MLFlow server...")
     gitlab, config = _get_gitlab_config()