From 8bf2436c01dfb024e5ba3cf62e9990caa7773baf Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Thu, 24 Apr 2025 16:44:27 -0400 Subject: [PATCH] doc/python: clarify `optional-dependencies' are only for explicit dep groups (#377049) Some project may claim, in their README or otherwise, a particular library as an optional dependency. But it doesn't make it one in the context of the `optional-dependencies` derivation attribute. --- doc/languages-frameworks/python.section.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index 6594254a0387..13f12e1521b1 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -2102,6 +2102,14 @@ Note this method is preferred over adding parameters to builders, as that can result in packages depending on different variants and thereby causing collisions. +::: {.note} +The `optional-dependencies` attribute should only be used for dependency groups +as defined in package metadata. If a package gracefully handles missing +dependencies in runtime but doesn't advertise it through package metadata, then +these dependencies should not be listed at all. (One may still have to list +them in `nativeCheckInputs` to pass test suite.) +::: + ### How to contribute a Python package to nixpkgs? {#tools} Packages inside nixpkgs must use the [`buildPythonPackage`](#buildpythonpackage-function) or [`buildPythonApplication`](#buildpythonapplication-function) function directly,