diff --git a/src/mednet/scripts/utils.py b/src/mednet/scripts/utils.py
index a4e5432e229c69e5d8dbd5224a63ca90b96aa4b2..3f007dc0e8c1d6a97d8b03507e70cd37437a70df 100644
--- a/src/mednet/scripts/utils.py
+++ b/src/mednet/scripts/utils.py
@@ -81,7 +81,8 @@ def device_properties(
 
 
 def execution_metadata() -> dict[str, int | float | str]:
-    """Produce metadata concerning the running script, in the form of a dictionary.
+    """Produce metadata concerning the running script, in the form of a
+    dictionary.
 
     This function returns potentially useful metadata concerning program
     execution.  It contains a certain number of preset variables.
@@ -112,16 +113,20 @@ def execution_metadata() -> dict[str, int | float | str]:
         else:
             args.append(k)
 
+    # current date time, in ISO8610 format
+    datetime = __import__("datetime").datetime.now().astimezone().isoformat()
+
+    # collects dependence information
+    package_name = __package__.split(".")[0]
+    requires = importlib.metadata.requires(package_name) or []
+    dependence_names = [k.split()[0] for k in requires]
+    dependencies = {k: importlib.metadata.version(k) for k in dependence_names}
+
     data = {
+        "datetime": datetime,
         "package-name": __package__.split(".")[0],
-        "package-version": importlib.metadata.version(
-            __package__.split(".")[0]
-        ),
-        "date": __import__("datetime")
-        .datetime.now()
-        .astimezone()
-        .replace(microsecond=0)
-        .isoformat(),
+        "package-version": importlib.metadata.version(package_name),
+        "dependencies": dependencies,
         "user": __import__("getpass").getuser(),
         "conda-env": os.environ.get("CONDA_DEFAULT_ENV", ""),
         "path": os.path.realpath(os.curdir),