From 809ffd6cd33b0020c6ac0be57bf25f3da4c17d31 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sun, 22 May 2022 16:27:48 +0200 Subject: [PATCH] doc/python: use optional-dependencies instead of extras-require This is the term that PEP 621 uses and it is less likely to be misspelled. https://peps.python.org/pep-0621/#dependencies-optional-dependencies I was never sure if it was `extra` or `extras`, or `require` or `requires` and finally committed a mistake in #167405. --- doc/languages-frameworks/python.section.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index fe28f94c069d..9cb9d2ba7bfd 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -982,12 +982,13 @@ in python.withPackages(ps: [ps.blaze])).env #### Optional extra dependencies Some packages define optional dependencies for additional features. With -`setuptools` this is called `extras_require` and `flit` calls it `extras-require`. A +`setuptools` this is called `extras_require` and `flit` calls it +`extras-require`, while PEP 621 calls these `optional-dependencies`. A method for supporting this is by declaring the extras of a package in its `passthru`, e.g. in case of the package `dask` ```nix -passthru.extras-require = { +passthru.optional-dependencies = { complete = [ distributed ]; }; ``` @@ -997,7 +998,7 @@ and letting the package requiring the extra add the list to its dependencies ```nix propagatedBuildInputs = [ ... -] ++ dask.extras-require.complete; +] ++ dask.optional-dependencies.complete; ``` Note this method is preferred over adding parameters to builders, as that can