diff --git a/src/py/flwr/cli/run/run.py b/src/py/flwr/cli/run/run.py index 28fa67f9d4f..4c95a4041c0 100644 --- a/src/py/flwr/cli/run/run.py +++ b/src/py/flwr/cli/run/run.py @@ -90,12 +90,16 @@ def run( if engine == Engine.SIMULATION: num_supernodes = config["flower"]["engine"]["simulation"]["supernode"]["num"] + backend_config = config["flower"]["engine"]["simulation"].get( + "backend_config", None + ) typer.secho("Starting run... ", fg=typer.colors.BLUE) _run_simulation( server_app_attr=server_app_ref, client_app_attr=client_app_ref, num_supernodes=num_supernodes, + backend_config=backend_config, ) else: typer.secho( diff --git a/src/py/flwr/common/config.py b/src/py/flwr/common/config.py index 95bf8ce31c4..20de00a6fba 100644 --- a/src/py/flwr/common/config.py +++ b/src/py/flwr/common/config.py @@ -24,14 +24,16 @@ from flwr.common.constant import APP_DIR, FAB_CONFIG_FILE, FLWR_HOME -def get_flwr_dir() -> Path: +def get_flwr_dir(provided_path: Optional[str] = None) -> Path: """Return the Flower home directory based on env variables.""" - return Path( - os.getenv( - FLWR_HOME, - f"{os.getenv('XDG_DATA_HOME', os.getenv('HOME'))}/.flwr", + if provided_path is None or not Path(provided_path).is_dir(): + return Path( + os.getenv( + FLWR_HOME, + f"{os.getenv('XDG_DATA_HOME', os.getenv('HOME'))}/.flwr", + ) ) - ) + return Path(provided_path).absolute() def get_project_dir(