@@ -52,6 +52,13 @@ def run_entrypoint(
5252 """
5353 add_py_folder (entrypoint )
5454
55+ # Load config file (so we can merge config.dependencies with CLI deps)
56+ if config_file :
57+ config .load (config_file )
58+
59+ # Merge dependencies from config and CLI (config first, then CLI, deduped)
60+ merged_dependencies = list (dict .fromkeys (config .dependencies + list (dependencies )))
61+
5562 # Read dataspace from config.json (required)
5663 entrypoint_dir = os .path .dirname (entrypoint )
5764 config_json_path = os .path .join (entrypoint_dir , "config.json" )
@@ -81,18 +88,14 @@ def run_entrypoint(
8188 f"Please ensure config.json contains a 'dataspace' field."
8289 )
8390
84- # Load config file first
85- if config_file :
86- config .load (config_file )
87-
8891 # Add dataspace to reader and writer config options
8992 _set_config_option (config .reader_config , "dataspace" , dataspace )
9093 _set_config_option (config .writer_config , "dataspace" , dataspace )
9194
9295 if profile != "default" :
9396 _set_config_option (config .reader_config , "credentials_profile" , profile )
9497 _set_config_option (config .writer_config , "credentials_profile" , profile )
95- for dependency in dependencies :
98+ for dependency in merged_dependencies :
9699 try :
97100 importlib .import_module (dependency )
98101 except ModuleNotFoundError as exc :
0 commit comments