Skip to content

Commit

Permalink
Feature/SK-935 | Add fedn run startup (#654)
Browse files Browse the repository at this point in the history
  • Loading branch information
sowmyasris authored Jul 12, 2024
1 parent d0a5c02 commit fce112a
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions fedn/cli/run_cmd.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,36 @@ def run_cmd(ctx):
"""
pass

@run_cmd.command("startup")
@click.option("-p", "--path", required=True, help="Path to package directory containing fedn.yaml")
@click.pass_context
def startup_cmd(ctx, path):
"""Execute 'startup' entrypoint in fedn.yaml.
:param ctx:
:param path: Path to folder containing fedn.yaml
:type path: str
"""
path = os.path.abspath(path)
yaml_file = os.path.join(path, "fedn.yaml")
if not os.path.exists(yaml_file):
logger.error(f"Could not find fedn.yaml in {path}")
exit(-1)

config = _read_yaml_file(yaml_file)
# Check that startup is defined in fedn.yaml under entry_points
if "startup" not in config["entry_points"]:
logger.error("No startup command defined in fedn.yaml")
exit(-1)

dispatcher = Dispatcher(config, path)
_ = dispatcher._get_or_create_python_env()
dispatcher.run_cmd("startup")

# delete the virtualenv
if dispatcher.python_env_path:
logger.info(f"Removing virtualenv {dispatcher.python_env_path}")
shutil.rmtree(dispatcher.python_env_path)

@run_cmd.command("build")
@click.option("-p", "--path", required=True, help="Path to package directory containing fedn.yaml")
Expand Down

0 comments on commit fce112a

Please sign in to comment.