Source code for egon.data.datasets.demandregio.install_disaggregator

"""This module downloads and installs demandregio's disaggregator from GitHub

"""
import os
import shutil
from pathlib import Path

import egon.data.config
from egon.data import subprocess


[docs]def clone_and_install(): """ Clone and install repository of demandregio's disaggregator Returns ------- None. """ source = egon.data.config.datasets()["demandregio_installation"]["sources"] repo_path = Path(".") / ( egon.data.config.datasets()["demandregio_installation"]["targets"][ "path" ] ) # Delete repository if it already exists if repo_path.exists() and repo_path.is_dir(): shutil.rmtree(repo_path) # Create subfolder os.mkdir(repo_path) # Clone from GitHub repository subprocess.run( [ "git", "clone", "--single-branch", "--branch", source["branch"], source["git-repository"], ], cwd=repo_path, ) # Install disaggregator from path subprocess.run( ["pip", "install", "-e", (repo_path / "disaggregator").absolute()] )