Software dependency

ID: software-dependency

A software dependency is another component, tool, library or service required for some aspect of a program's construction or operation. Dependencies form a dependency graph; direct requirements can introduce additional transitive requirements. Dependency resolution selects versions satisfying the combined constraints.
For example, if one component requires library versions at least 2 but below 3, while another requires at least 3, no single library version satisfies both in one shared installation. A resolver must report the conflict or use an isolation mechanism that genuinely permits separate versions. Pip documents backtracking through candidate package versions to solve such constraints.[ref] Recording selected versions improves reproducibility, but the operating system, input data and execution settings can still affect the result.

New to topics? Read the docs here!