From 3a38b4c39d2e4713924461d228980ed76213c5cc Mon Sep 17 00:00:00 2001 From: Daksh Bhayana Date: Tue, 15 Apr 2025 00:39:17 +0530 Subject: [PATCH 1/7] WIP --- source/specifications/pyproject-toml.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source/specifications/pyproject-toml.rst b/source/specifications/pyproject-toml.rst index 4ce9b7484..7247b8a01 100644 --- a/source/specifications/pyproject-toml.rst +++ b/source/specifications/pyproject-toml.rst @@ -541,4 +541,20 @@ History added and ``License::`` classifiers were deprecated through :pep:`639`. + +Dependency Groups: the ``[dependency-groups]`` table +=================================================== + +This specification defines Dependency Groups, a mechanism for storing package requirements in +``[pyproject.toml]`` files such that they are not included in project metadata when it is built. + +Dependency Groups are suitable for internal development use-cases like linting and testing, as well as for projects which are not built for distribution, like collections of related scripts. + + +The `[dependency-groups]` table is an optional top-level table that allows defining non-distribution dependencies used for internal tooling, such as testing or linting. + +For the full specification and behavior, refer to the [Dependency Groups specification](https://packaging.python.org/en/latest/specifications/dependency-groups/). + + + .. _TOML: https://toml.io From 9ae4a593d470470dcf5146e31bf96fea142c2606 Mon Sep 17 00:00:00 2001 From: Daksh Bhayana Date: Tue, 15 Apr 2025 00:51:26 +0530 Subject: [PATCH 2/7] Dependency groups cross link added --- source/specifications/pyproject-toml.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/specifications/pyproject-toml.rst b/source/specifications/pyproject-toml.rst index 7247b8a01..20b551d00 100644 --- a/source/specifications/pyproject-toml.rst +++ b/source/specifications/pyproject-toml.rst @@ -542,7 +542,7 @@ History -Dependency Groups: the ``[dependency-groups]`` table +Declaring dependency groups: the ``[dependency-groups]`` table =================================================== This specification defines Dependency Groups, a mechanism for storing package requirements in @@ -550,7 +550,6 @@ This specification defines Dependency Groups, a mechanism for storing package re Dependency Groups are suitable for internal development use-cases like linting and testing, as well as for projects which are not built for distribution, like collections of related scripts. - The `[dependency-groups]` table is an optional top-level table that allows defining non-distribution dependencies used for internal tooling, such as testing or linting. For the full specification and behavior, refer to the [Dependency Groups specification](https://packaging.python.org/en/latest/specifications/dependency-groups/). From 9f8fdea64808106e748f289cc1645bb46302e5ca Mon Sep 17 00:00:00 2001 From: Daksh Bhayana Date: Tue, 15 Apr 2025 00:57:11 +0530 Subject: [PATCH 3/7] Dependency groups cross link added : WIP --- source/specifications/pyproject-toml.rst | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/source/specifications/pyproject-toml.rst b/source/specifications/pyproject-toml.rst index 20b551d00..256a04606 100644 --- a/source/specifications/pyproject-toml.rst +++ b/source/specifications/pyproject-toml.rst @@ -16,13 +16,15 @@ tools (as well as other tools). .. note:: This specification was originally defined in :pep:`518` and :pep:`621`. -The ``pyproject.toml`` file is written in `TOML `_. Three +The ``pyproject.toml`` file is written in `TOML `_. Several tables are currently specified, namely :ref:`[build-system] `, -:ref:`[project] ` and -:ref:`[tool] `. Other tables are reserved for future +:ref:`[project] `, +:ref:`[tool] `, and +:ref:`[dependency-groups] `. Other tables are reserved for future use (tool-specific configuration should use the ``[tool]`` table). + .. _pyproject-build-system-table: Declaring build system dependencies: the ``[build-system]`` table @@ -541,6 +543,7 @@ History added and ``License::`` classifiers were deprecated through :pep:`639`. +.. _pyproject-dependency-groups-table: Declaring dependency groups: the ``[dependency-groups]`` table =================================================== @@ -550,9 +553,9 @@ This specification defines Dependency Groups, a mechanism for storing package re Dependency Groups are suitable for internal development use-cases like linting and testing, as well as for projects which are not built for distribution, like collections of related scripts. -The `[dependency-groups]` table is an optional top-level table that allows defining non-distribution dependencies used for internal tooling, such as testing or linting. +The ``[dependency-groups]`` table is an optional top-level table that allows defining non-distribution dependencies used for internal tooling, such as testing or linting. -For the full specification and behavior, refer to the [Dependency Groups specification](https://packaging.python.org/en/latest/specifications/dependency-groups/). +For the full specification and behavior, refer to the `Dependency Groups specification `_. From 8c33bf2d30d588edbbb1bbe9aaf477225ccdd87b Mon Sep 17 00:00:00 2001 From: Daksh2000 <44369829+Daksh2000@users.noreply.github.com> Date: Tue, 15 Apr 2025 23:40:19 +0530 Subject: [PATCH 4/7] Update source/specifications/pyproject-toml.rst Co-authored-by: Alyssa Coghlan --- source/specifications/pyproject-toml.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/source/specifications/pyproject-toml.rst b/source/specifications/pyproject-toml.rst index 256a04606..bb385f2f0 100644 --- a/source/specifications/pyproject-toml.rst +++ b/source/specifications/pyproject-toml.rst @@ -551,7 +551,6 @@ Declaring dependency groups: the ``[dependency-groups]`` table This specification defines Dependency Groups, a mechanism for storing package requirements in ``[pyproject.toml]`` files such that they are not included in project metadata when it is built. -Dependency Groups are suitable for internal development use-cases like linting and testing, as well as for projects which are not built for distribution, like collections of related scripts. The ``[dependency-groups]`` table is an optional top-level table that allows defining non-distribution dependencies used for internal tooling, such as testing or linting. From b9b1e6427e5f1c39d5f1ddaa601cc49b8b8b3eab Mon Sep 17 00:00:00 2001 From: Daksh Bhayana Date: Tue, 15 Apr 2025 23:49:33 +0530 Subject: [PATCH 5/7] FMT Fix --- source/specifications/pyproject-toml.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/source/specifications/pyproject-toml.rst b/source/specifications/pyproject-toml.rst index bb385f2f0..622eade87 100644 --- a/source/specifications/pyproject-toml.rst +++ b/source/specifications/pyproject-toml.rst @@ -551,7 +551,6 @@ Declaring dependency groups: the ``[dependency-groups]`` table This specification defines Dependency Groups, a mechanism for storing package requirements in ``[pyproject.toml]`` files such that they are not included in project metadata when it is built. - The ``[dependency-groups]`` table is an optional top-level table that allows defining non-distribution dependencies used for internal tooling, such as testing or linting. For the full specification and behavior, refer to the `Dependency Groups specification `_. From fb88471c70ff9484d02e81de677d834d05070f9b Mon Sep 17 00:00:00 2001 From: Daksh2000 <44369829+Daksh2000@users.noreply.github.com> Date: Tue, 15 Apr 2025 23:53:13 +0530 Subject: [PATCH 6/7] Update source/specifications/pyproject-toml.rst Co-authored-by: Alyssa Coghlan --- source/specifications/pyproject-toml.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/source/specifications/pyproject-toml.rst b/source/specifications/pyproject-toml.rst index 622eade87..e1cbdec01 100644 --- a/source/specifications/pyproject-toml.rst +++ b/source/specifications/pyproject-toml.rst @@ -552,6 +552,7 @@ This specification defines Dependency Groups, a mechanism for storing package re ``[pyproject.toml]`` files such that they are not included in project metadata when it is built. The ``[dependency-groups]`` table is an optional top-level table that allows defining non-distribution dependencies used for internal tooling, such as testing or linting. +Dependency groups are also suitable for use in projects which are not built for distribution, such as collections of related scripts. For the full specification and behavior, refer to the `Dependency Groups specification `_. From 746a85c098d1b604046d5a66c19b563a6eb78d35 Mon Sep 17 00:00:00 2001 From: Daksh Bhayana Date: Thu, 24 Apr 2025 10:00:03 +0530 Subject: [PATCH 7/7] WIP: nox build fail fixes --- source/specifications/pyproject-toml.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/specifications/pyproject-toml.rst b/source/specifications/pyproject-toml.rst index e1cbdec01..f5e0c02ec 100644 --- a/source/specifications/pyproject-toml.rst +++ b/source/specifications/pyproject-toml.rst @@ -546,7 +546,7 @@ History .. _pyproject-dependency-groups-table: Declaring dependency groups: the ``[dependency-groups]`` table -=================================================== +============================================================== This specification defines Dependency Groups, a mechanism for storing package requirements in ``[pyproject.toml]`` files such that they are not included in project metadata when it is built.