def parse_source_file(src_file: pathlib.Path, platform: str, include_dev_dependencies: bool) -> LockSpecification: if src_file.name == "meta.yaml": desired_env = parse_meta_yaml_file(src_file, platform, include_dev_dependencies) elif src_file.name == "pyproject.toml": desired_env = parse_pyproject_toml(src_file, platform, include_dev_dependencies) else: desired_env = parse_environment_file(src_file, platform) return desired_env
def test_parse_environment_file_with_pip(pip_environment): res = parse_environment_file(pip_environment, "linux-64") assert [dep for dep in res.dependencies if dep.manager == "pip"] == [ VersionedDependency( name="requests-toolbelt", manager="pip", optional=False, category="main", extras=[], version="=0.9.1", ) ]
def parse_source_files( src_files: List[pathlib.Path], platform: str, include_dev_dependencies: bool) -> List[LockSpecification]: desired_envs = [] for src_file in src_files: if src_file.name == "meta.yaml": desired_envs.append( parse_meta_yaml_file(src_file, platform, include_dev_dependencies)) elif src_file.name == "pyproject.toml": desired_envs.append( parse_pyproject_toml(src_file, platform, include_dev_dependencies)) else: desired_envs.append(parse_environment_file(src_file, platform)) return desired_envs
def test_parse_environment_file(gdal_environment): res = parse_environment_file(gdal_environment, "linux-64") assert all(x in res.dependencies for x in [ VersionedDependency( name="python", version=">=3.7,<3.8", ), VersionedDependency( name="gdal", version="", ), ]) assert (VersionedDependency( name="toolz", manager="pip", version="*", ) in res.dependencies) assert all(x in res.channels for x in ["conda-forge", "defaults"])
def parse_source_files( src_files: List[pathlib.Path], platform_overrides: Sequence[str], ) -> List[LockSpecification]: """ Parse a sequence of dependency specifications from source files Parameters ---------- src_files : Files to parse for dependencies platform_overrides : Target platforms to render meta.yaml files for """ desired_envs = [] for src_file in src_files: if src_file.name == "meta.yaml": desired_envs.append( parse_meta_yaml_file(src_file, list(platform_overrides))) elif src_file.name == "pyproject.toml": desired_envs.append(parse_pyproject_toml(src_file)) else: desired_envs.append(parse_environment_file(src_file, pip_support)) return desired_envs
def test_parse_environment_file(gdal_environment): res = parse_environment_file(gdal_environment, "linux-64") assert all(x in res.specs for x in ["python >=3.7,<3.8", "gdal"]) assert all(x in res.channels for x in ["conda-forge", "defaults"])