def init_repo(repo_path: Text, artifact_store_path: Text = None, metadata_store: Optional[ZenMLMetadataStore] = None, pipelines_dir: Text = None, analytics_opt_in: bool = None): """ Initializes a git repo with zenml. Args: repo_path (str): path to root of a git repo metadata_store: metadata store definition artifact_store_path (str): path where to store artifacts pipelines_dir (str): path where to store pipeline configs. analytics_opt_in (str): opt-in flag for analytics code. Raises: InvalidGitRepositoryError: If repository is not a git repository. NoSuchPathError: If the repo_path does not exist. """ # check whether its a git repo by initializing GitWrapper git_wrapper = GitWrapper(repo_path) # Do proper checks and add to .gitignore git_wrapper.add_gitignore([ZENML_DIR_NAME + '/']) # use the underlying ZenMLConfig class to create the config ZenMLConfig.to_config( repo_path, artifact_store_path, metadata_store, pipelines_dir) # create global config global_config = GlobalConfig.get_instance() if analytics_opt_in is not None: global_config.set_analytics_opt_in(analytics_opt_in)
def test_to_from_config(equal_zenml_configs): # TODO: This is messed up cfg1 = ZenMLConfig(repo_path=config_root) cfg2 = cfg1.from_config(cfg1.to_config(path=config_root)) assert equal_zenml_configs(cfg1, cfg2, loaded=True)