Skip to content

Commit dc066a0

Browse files
story645QuLogic
andcommitted
reduced redundancy in headings
Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
1 parent 7ea11b7 commit dc066a0

2 files changed

Lines changed: 49 additions & 35 deletions

File tree

‎doc/devel/dependencies.rst‎

Lines changed: 48 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
.. _dependencies:
22

3-
============
3+
************
44
Dependencies
5-
============
5+
************
6+
7+
.. _runtime_dependencies:
68

79
Runtime dependencies
810
====================
911

1012

11-
Mandatory dependencies
12-
----------------------
13+
Required
14+
--------
1315

1416
When installing through a package manager like ``pip`` or ``conda``, the
1517
mandatory dependencies are automatically installed. This list is mainly for
@@ -31,8 +33,8 @@ reference.
3133

3234
.. _optional_dependencies:
3335

34-
Optional dependencies
35-
---------------------
36+
Optional
37+
--------
3638

3739
The following packages and tools are not required but extend the capabilities
3840
of Matplotlib.
@@ -176,9 +178,8 @@ remember to clear your artifacts before re-building::
176178

177179
git clean -xfd
178180

179-
180-
Manual Download
181-
^^^^^^^^^^^^^^^
181+
Install from source
182+
^^^^^^^^^^^^^^^^^^^
182183

183184
If the automatic download does not work (for example, on air-gapped systems) it is
184185
preferable to instead use system libraries. However you can manually download the
@@ -202,19 +203,21 @@ In all cases the required version of pip is embedded in the CPython source.
202203

203204
.. _development-dependencies:
204205

205-
Dependencies for building Matplotlib
206-
====================================
206+
Build dependencies
207+
==================
208+
207209

208210
.. _setup-dependencies:
209211

210-
Setup dependencies
211-
------------------
212+
Python
213+
------
212214

213215
By default, ``pip`` will build packages using build isolation, and the following
214216
dependencies will be automatically installed in the isolated environment to build
215217
Matplotlib. However, for development, you may wish to make an editable install, which
216218
will require disabling build isolation, so these build dependencies should be installed
217-
in your target environment manually:
219+
in the target environment manually.
220+
:
218221

219222
- `meson-python <https://meson-python.readthedocs.io/>`_ (>= 0.13.1).
220223
- `ninja <https://ninja-build.org/>`_ (>= 1.8.2). This may be available in your package
@@ -227,14 +230,21 @@ in your target environment manually:
227230
Also a runtime dependency for editable installs.
228231
- `NumPy <https://numpy.org>`_ (>= 1.21). Also a runtime dependency.
229232

233+
.. note::
234+
The Python packages listed here will be installed automatically if you are
235+
using a virtual environment that was created following the instructions in
236+
:ref:`dev-environment`.
237+
230238

231239
.. _compile-dependencies:
232240

233-
C++ compiler
241+
C-extensions
234242
------------
235243

236244
Matplotlib requires a C++ compiler that supports C++17, and each platform has a
237245
development environment that must be installed before a compiler can be installed.
246+
You may also need to install headers for various libraries called in the C-extension
247+
source files.
238248

239249
.. tab-set::
240250

@@ -294,8 +304,9 @@ Xcode, VS Code or Linux package manager. Choose **one** compiler from this list:
294304

295305
.. _test-dependencies:
296306

297-
Dependencies for testing Matplotlib
298-
===================================
307+
Test Dependencies
308+
=================
309+
299310
This section lists the additional software required for
300311
:ref:`running the tests <testing>`.
301312

@@ -357,11 +368,12 @@ them will be skipped by pytest.
357368

358369
.. _doc-dependencies:
359370

360-
Dependencies for building Matplotlib's documentation
361-
====================================================
371+
Documentation dependencies
372+
==========================
373+
374+
Python
375+
------
362376

363-
Python packages
364-
---------------
365377
The additional Python packages required to build the
366378
:ref:`documentation <documenting-matplotlib>` are listed in
367379
:file:`doc-requirements.txt` and can be installed using ::
@@ -373,13 +385,22 @@ The content of :file:`doc-requirements.txt` is also shown below:
373385
.. include:: ../../requirements/doc/doc-requirements.txt
374386
:literal:
375387

376-
Additional external dependencies
377-
--------------------------------
378-
Required:
379388

389+
External tools
390+
--------------
391+
392+
The documentation will not build without LaTeX and Graphviz. These are not
393+
Python packages and must be installed separately. The documentation can be
394+
built without Inkscape and optipng, but the build process will raise various
395+
warnings. If the build process warns that you are missing fonts, make sure
396+
your LaTeX distribution bundles cm-super or install it separately.
397+
398+
Required
399+
^^^^^^^^
400+
401+
* `Graphviz <http://www.graphviz.org/download>`_
380402
* a minimal working LaTeX distribution, e.g., `TeX Live <https://www.tug.org/texlive/>`_ or
381403
`MikTeX <https://miktex.org/>`_
382-
* `Graphviz <http://www.graphviz.org/download>`_
383404
* the following LaTeX packages (if your OS bundles TeX Live, the
384405
"complete" version of the installer, e.g. "texlive-full" or "texlive-all",
385406
will often automatically include these packages):
@@ -388,18 +409,11 @@ Required:
388409
* `dvipng <https://ctan.org/pkg/dvipng>`_
389410
* `underscore <https://ctan.org/pkg/underscore>`_
390411

391-
Optional, but recommended:
412+
Optional
413+
^^^^^^^^
392414

393415
* `Inkscape <https://inkscape.org>`_
394416
* `optipng <http://optipng.sourceforge.net>`_
395417
* the font "Humor Sans" (aka the "XKCD" font), or the free alternative
396418
`Comic Neue <http://comicneue.com/>`_
397419
* the font "Times New Roman"
398-
399-
.. note::
400-
401-
The documentation will not build without LaTeX and Graphviz. These are not
402-
Python packages and must be installed separately. The documentation can be
403-
built without Inkscape and optipng, but the build process will raise various
404-
warnings. If the build process warns that you are missing fonts, make sure
405-
your LaTeX distribution bundles cm-super or install it separately.

‎doc/users/installing/index.rst‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ precompiled wheel for your OS and Python.
3131

3232
For support of other GUI frameworks, LaTeX rendering, saving
3333
animations and a larger selection of file formats, you can
34-
install :ref:`optional_dependencies`.
34+
install :ref:`optional dependencies <optional_dependencies>`.
3535

3636

3737
Third-party distributions

0 commit comments

Comments
 (0)