> ## Documentation Index
> Fetch the complete documentation index at: https://anaconda.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# What is a dependency?

When you install conda packages, you're rarely installing just one package. Most of the programs and libraries contained within these packages rely on the programs and libraries in *other* packages to function properly. These other packages are called **dependencies**.

Each conda package ships with a list of its required dependencies, and dependencies often specify version constraints. For example:

* `numpy >=1.18` — NumPy version 1.18 or later
* `python =3.8.*` — any version of Python 3.8
* `scipy <1.5.0` — SciPy versions older than 1.5.0

When you install a package, conda reads its dependency list and installs whatever it needs alongside it. Conda uses a [dependency solver](/docs/getting-started/concepts/what-is-the-solver) to figure out which versions of which packages can coexist in your environment without conflicts.

For more information on conda's package specification rules, see [Package specification](https://docs.conda.io/projects/conda/en/stable/user-guide/concepts/pkg-specs.html) in the official conda documentation.
