unidep module#

unidep - Unified Conda and Pip requirements management.

unidep.create_conda_env_specification(resolved, channels, platforms, selector='sel')[source]#

Create a conda environment specification from resolved requirements.

Return type:

CondaEnvironmentSpec

unidep.filter_python_dependencies(resolved)[source]#

Filter out conda dependencies and return only pip dependencies.

Return type:

list[str]

Examples

>>> requirements = parse_requirements("requirements.yaml")
>>> resolved = resolve_conflicts(
...     requirements.requirements, requirements.platforms
... )
>>> python_deps = filter_python_dependencies(resolved)
unidep.find_requirements_files(base_dir='.', depth=1, *, verbose=False)[source]#

Scan a directory for requirements.yaml and pyproject.toml files.

Return type:

list[Path]

unidep.get_python_dependencies(filename='requirements.yaml', *, verbose=False, ignore_pins=None, overwrite_pins=None, skip_dependencies=None, platforms=None, raises_if_missing=True)[source]#

Extract Python (pip) requirements from a requirements.yaml or pyproject.toml file.

Return type:

list[str]

unidep.parse_local_dependencies(*paths, check_pip_installable=True, verbose=False)[source]#

Extract local project dependencies from a list of requirements.yaml or pyproject.toml files.

Works by loading the specified local_dependencies list.

Return type:

dict[Path, list[Path]]

unidep.parse_requirements(*paths, ignore_pins=None, overwrite_pins=None, skip_dependencies=None, verbose=False)[source]#

Parse a list of requirements.yaml or pyproject.toml files.

Return type:

ParsedRequirements

unidep.resolve_conflicts(requirements, platforms=None)[source]#

Resolve conflicts in a dictionary of requirements.

Uses the ParsedRequirements.requirements dict returned by parse_requirements.

Return type:

dict[str, dict[Optional[Literal['linux-64', 'linux-aarch64', 'linux-ppc64le', 'osx-64', 'osx-arm64', 'win-64']], dict[Literal['conda', 'pip'], Spec]]]

unidep.write_conda_environment_file(env_spec, output_file='environment.yaml', name='myenv', *, verbose=False)[source]#

Generate a conda environment.yaml file or print to stdout.

Return type:

None