diff --git a/cml/controller/api.py b/cml/controller/api.py
index c6ac6fdbc711786aefbeff8571bad19cdc0b4d79..0e940d3c8caad314d46ec25352fc400e02ff3785 100644
--- a/cml/controller/api.py
+++ b/cml/controller/api.py
@@ -69,10 +69,12 @@ def get_settings():
     return Settings
 
 
-def get_data_source():
+def get_data_source(path: str = None):
     general_settings = specific_settings_factory("general")
     preprocessing_settings = specific_settings_factory("preprocessing")
     block_processing_settings = specific_settings_factory("block_processing")
+    if path:
+        general_settings.input_file = path
     source_adapter = PandasAdapter.read_csv_data(general_settings.input_file)
     density_estimator = KernelDensityEstimator()
     relative_extrema = find_relative_extrema