# Utilities for packaging"""Provide utilities for packaging the application."""importosimportpkg_resourcesimportimportlib_resources
[docs]defget_pkg_egg(name,prefix=None):"""Get package egg-info path. Args: name (str): Package name. prefix (str): Start of output path; defaults to None. Returns: str, str: The egg-info path and output path for the given package. """distrib=pkg_resources.get_distribution(name)egg_name=os.path.basename(distrib.egg_info)ifprefix:egg_name=os.path.join(prefix,egg_name)paths=(distrib.egg_info,egg_name)print("Adding package egg-info path:",paths)returnpaths
[docs]defget_pkg_path(name,prefix=None):"""Get path to the installed package. Args: name (str): Package name. prefix (str): Start of output path; defaults to None. Returns: str, str: The package path and output path for the given package. """pkg_dir=nameforentryinimportlib_resources.files(name).iterdir():pkg_dir=os.path.dirname(entry)breakout_path=os.path.basename(pkg_dir)ifprefix:out_path=os.path.join(prefix,out_path)paths=(pkg_dir,out_path)print("Adding package path:",paths)returnpaths