Skip to content

Commit 5760e8f

Browse files
feat: clarification on using dependency groups and extras (#582)
* feat: clarification on using dependency groups and extras * chore: removing TODO * Update doc/source/how-to/packaging.rst Co-authored-by: Sébastien Morais <146729917+SMoraisAnsys@users.noreply.github.com> * Update doc/source/how-to/packaging.rst Co-authored-by: Sébastien Morais <146729917+SMoraisAnsys@users.noreply.github.com> * docs: adapting to @greschd's suggestions --------- Co-authored-by: Sébastien Morais <146729917+SMoraisAnsys@users.noreply.github.com>
1 parent 1d87ab2 commit 5760e8f

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

doc/source/how-to/packaging.rst

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,15 @@ optional dependencies:
363363
extras to replicate similar behavior.
364364
- Avoid specifying development-only dependencies in the main dependencies.
365365

366+
.. warning::
367+
368+
If you are using extras as a workaround for dependency groups, be cautious that testing and
369+
documentation dependencies should not be user facing. Therefore, do not include inside the
370+
``all`` target any of the testing or documentation dependencies (that is, ``pytest``, ``pytest-cov``,
371+
``sphinx``, ``sphinx-autoapi``, and similar). You should create a separate extra (``dev``,
372+
``tests``, ``doc``, or similar) for such dependencies.
373+
374+
366375
Making dependencies optional allows users to install lightweight versions of
367376
your PyAnsys library. This is especially useful for users who are not interested in
368377
certain features or who are using the library in a headless environment. It also
@@ -382,15 +391,15 @@ A migration example of a library from not having a ``graphics`` target to having
382391
is shown below:
383392

384393
- `PyAnsys Geometry - 1782 - feat: separate graphics target <https://github.com/ansys/pyansys-geometry/pull/1782>`_
394+
- `PyMAPDL - 3820 - fix: Optional graphics dependency <https://github.com/ansys/pymapdl/pull/3820>`_
395+
- `PyMAPDL Reader - 567 - feat: separate graphics target <https://github.com/ansys/pymapdl-reader/pull/567>`_
385396

386397
Examples of PyAnsys projects that have these optional dependencies are:
387398

388399
- `PyPrimeMesh targets <https://github.com/ansys/pyprimemesh/blob/034b5e134776d1623c1d2db4b4b8d4ead101abdb/pyproject.toml#L30-L58>`_
389400
- `PyAnsys Geometry targets <https://github.com/ansys/pyansys-geometry/blob/e6d8210f9d79718d607a2f4b2e8ead33babcbfca/pyproject.toml#L44-L58>`_
390401
- `PyACP targets <https://github.com/ansys/pyacp/blob/f4d8c1779cd451b1fc8ef649cc3b2cd5799ff11a/pyproject.toml#L89-L110>`_
391402

392-
.. TODO: Add more examples of PyAnsys projects that have these optional dependencies.
393-
394403
Dependabot
395404
----------
396405

@@ -481,7 +490,7 @@ Dependabot allows for two different types of updates:
481490
* **Dependabot security updates**: Automated pull requests that help update
482491
dependencies with known vulnerabilities.
483492
* **Dependabot version updates**: Automated pull requests that keep dependencies updated,
484-
even when they dont have any vulnerabilities. To check the status of version updates,
493+
even when they don't have any vulnerabilities. To check the status of version updates,
485494
navigate to the **Insights** tab of your repository and then select **Dependency Graph**
486495
and **Dependabot**.
487496

0 commit comments

Comments
 (0)