From f9e44483fa5f9a6b7328887d37444bdc74ec35a2 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Fri, 4 Apr 2025 14:11:48 +0200 Subject: [PATCH 1/5] feat: clarification on using dependency groups and extras --- doc/source/how-to/packaging.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/source/how-to/packaging.rst b/doc/source/how-to/packaging.rst index bcfdf4317..38a10d2e1 100644 --- a/doc/source/how-to/packaging.rst +++ b/doc/source/how-to/packaging.rst @@ -363,6 +363,15 @@ optional dependencies: extras to replicate similar behavior. - Avoid specifying development-only dependencies in the main dependencies. + .. warning:: + + If you are using extras as a workaround for dependency groups, be cautious about the + potential for dependency conflicts. Extras are not designed to handle complex dependency + scenario. More importantly, most of our projects have testing and documentation + dependency groups that should not be user facing. Therefore, do not include inside the + ``all`` target any of the testing or documentation dependencies (that is, ``pytest``, + ``pytest-cov``, ``sphinx``, ``sphinx-autoapi``, and similar). + Making dependencies optional allows users to install lightweight versions of your PyAnsys library. This is especially useful for users who are not interested in certain features or who are using the library in a headless environment. It also @@ -382,6 +391,8 @@ A migration example of a library from not having a ``graphics`` target to having is shown below: - `PyAnsys Geometry - 1782 - feat: separate graphics target `_ +- `PyMAPDL - 3820 - fix: Optional graphics dependency `_ +- `PyMAPDL Reader - 567 - feat: separate graphics target `_ Examples of PyAnsys projects that have these optional dependencies are: From f3e82c61bd44f81fa2cc89cc466c4ad1ce77bfa5 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Fri, 4 Apr 2025 14:13:10 +0200 Subject: [PATCH 2/5] chore: removing TODO --- doc/source/how-to/packaging.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/source/how-to/packaging.rst b/doc/source/how-to/packaging.rst index 38a10d2e1..a2a28319b 100644 --- a/doc/source/how-to/packaging.rst +++ b/doc/source/how-to/packaging.rst @@ -400,8 +400,6 @@ Examples of PyAnsys projects that have these optional dependencies are: - `PyAnsys Geometry targets `_ - `PyACP targets `_ -.. TODO: Add more examples of PyAnsys projects that have these optional dependencies. - Dependabot ---------- From ad73845766cf6d6ed0cc3b580ef67b417cbd4a35 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Fri, 4 Apr 2025 14:52:17 +0200 Subject: [PATCH 3/5] Update doc/source/how-to/packaging.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sébastien Morais <146729917+SMoraisAnsys@users.noreply.github.com> --- doc/source/how-to/packaging.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/source/how-to/packaging.rst b/doc/source/how-to/packaging.rst index a2a28319b..50d210e50 100644 --- a/doc/source/how-to/packaging.rst +++ b/doc/source/how-to/packaging.rst @@ -393,6 +393,7 @@ is shown below: - `PyAnsys Geometry - 1782 - feat: separate graphics target `_ - `PyMAPDL - 3820 - fix: Optional graphics dependency `_ - `PyMAPDL Reader - 567 - feat: separate graphics target `_ +- `PySPEOS - 532 - feat: switch to ansys tools and decouple requirements `_ Examples of PyAnsys projects that have these optional dependencies are: From 9db497b03d86525f2212fe266b12f04aa29e4f51 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Fri, 4 Apr 2025 14:52:28 +0200 Subject: [PATCH 4/5] Update doc/source/how-to/packaging.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sébastien Morais <146729917+SMoraisAnsys@users.noreply.github.com> --- doc/source/how-to/packaging.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/how-to/packaging.rst b/doc/source/how-to/packaging.rst index 50d210e50..478970950 100644 --- a/doc/source/how-to/packaging.rst +++ b/doc/source/how-to/packaging.rst @@ -367,7 +367,7 @@ optional dependencies: If you are using extras as a workaround for dependency groups, be cautious about the potential for dependency conflicts. Extras are not designed to handle complex dependency - scenario. More importantly, most of our projects have testing and documentation + scenario. More importantly, most PyAnsys projects have testing and documentation dependency groups that should not be user facing. Therefore, do not include inside the ``all`` target any of the testing or documentation dependencies (that is, ``pytest``, ``pytest-cov``, ``sphinx``, ``sphinx-autoapi``, and similar). From 93acea5c734a6df974e57e0281b9ad4b54bda023 Mon Sep 17 00:00:00 2001 From: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com> Date: Fri, 4 Apr 2025 16:35:34 +0200 Subject: [PATCH 5/5] docs: adapting to @greschd's suggestions --- doc/source/how-to/packaging.rst | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/doc/source/how-to/packaging.rst b/doc/source/how-to/packaging.rst index a2a28319b..7d4cd59a9 100644 --- a/doc/source/how-to/packaging.rst +++ b/doc/source/how-to/packaging.rst @@ -365,12 +365,12 @@ optional dependencies: .. warning:: - If you are using extras as a workaround for dependency groups, be cautious about the - potential for dependency conflicts. Extras are not designed to handle complex dependency - scenario. More importantly, most of our projects have testing and documentation - dependency groups that should not be user facing. Therefore, do not include inside the - ``all`` target any of the testing or documentation dependencies (that is, ``pytest``, - ``pytest-cov``, ``sphinx``, ``sphinx-autoapi``, and similar). + If you are using extras as a workaround for dependency groups, be cautious that testing and + documentation dependencies should not be user facing. Therefore, do not include inside the + ``all`` target any of the testing or documentation dependencies (that is, ``pytest``, ``pytest-cov``, + ``sphinx``, ``sphinx-autoapi``, and similar). You should create a separate extra (``dev``, + ``tests``, ``doc``, or similar) for such dependencies. + Making dependencies optional allows users to install lightweight versions of your PyAnsys library. This is especially useful for users who are not interested in @@ -392,7 +392,6 @@ is shown below: - `PyAnsys Geometry - 1782 - feat: separate graphics target `_ - `PyMAPDL - 3820 - fix: Optional graphics dependency `_ -- `PyMAPDL Reader - 567 - feat: separate graphics target `_ Examples of PyAnsys projects that have these optional dependencies are: @@ -490,7 +489,7 @@ Dependabot allows for two different types of updates: * **Dependabot security updates**: Automated pull requests that help update dependencies with known vulnerabilities. * **Dependabot version updates**: Automated pull requests that keep dependencies updated, - even when they don’t have any vulnerabilities. To check the status of version updates, + even when they don't have any vulnerabilities. To check the status of version updates, navigate to the **Insights** tab of your repository and then select **Dependency Graph** and **Dependabot**.