8000 Rewording and minor restructuring of dependencies docs · matplotlib/matplotlib@8dd1092 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8dd1092

Browse files
committed
Rewording and minor restructuring of dependencies docs
1 parent a280b73 commit 8dd1092

File tree

4 files changed

+57
-37
lines changed

4 files changed

+57
-37
lines changed

INSTALL.rst

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ precompiled wheel for your OS and Python.
3131
TkAgg.
3232

3333
For support of other GUI frameworks, LaTeX rendering, saving
34-
animations and a larger selection of file formats, you need to
35-
install :ref:`additional dependencies <install_requirements>`.
34+
animations and a larger selection of file formats, you can
35+
install :ref:`optional_dependencies`.
3636

3737
Although not required, we suggest also installing ``IPython`` for
3838
interactive use. To easily install a complete Scientific Python
@@ -73,6 +73,8 @@ If you are interested in contributing to Matplotlib development,
7373
running the latest source code, or just like to build everything
7474
yourself, it is not difficult to build Matplotlib from source.
7575

76+
First you need to install the :ref:`dependencies`.
77+
7678
A C compiler is required. Typically, on Linux, you will need ``gcc``, which
7779
should be installed using your distribution's package manager; on macOS, you
7880
will need xcode_; on Windows, you will need Visual Studio 2015 or later.
@@ -135,7 +137,6 @@ file will be particularly useful to those packaging Matplotlib.
135137

136138
.. _setup.cfg: https://raw.githubusercontent.com/matplotlib/matplotlib/master/setup.cfg.template
137139

138-
139140
Building on Windows
140141
-------------------
141142

doc/api/next_api_changes/deprecations/17662-TAC.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ Increase minimum supported versions of Python and dependencies
22
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33

44

5-
For Maptlotlib 3.4 the :ref:`minimum supported versions
6-
<install_requirements>` are being bumped
5+
For Maptlotlib 3.4 the :ref:`minimum supported versions <dependencies>`
6+
are being bumped
77

88
+------------+-----------------+---------------+
99
| Dependency | min in mpl3.3 | min in mpl3.4 |

doc/devel/dependencies.rst

Lines changed: 47 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
.. _install_requirements:
1+
.. _dependencies:
22

33
============
44
Dependencies
55
============
66

7-
Matplotlib will automatically install dependencies when you install with
8-
``pip``, so this section is mostly for your reference.
7+
Mandatory dependencies
8+
======================
99

10-
Matplotlib requires the following dependencies:
10+
When installing through a package manager like ``pip`` or ``conda``, the
11+
mandatory dependencies are automatically installed. This list is mainly for
12+
reference.
1113

1214
* `Python <https://www.python.org/downloads/>`_ (>= 3.7)
1315
* `NumPy <https://numpy.org>`_ (>= 1.16)
@@ -18,11 +20,23 @@ Matplotlib requires the following dependencies:
1820
* `Pillow <https://pillow.readthedocs.io/en/latest/>`_ (>= 6.2)
1921
* `pyparsing <https://pypi.org/project/pyparsing/>`_ (>=2.2.1)
2022

21-
Optionally, you can also install a number of packages to enable better user
22-
interface toolkits. See :ref:`what-is-a-backend` for more details on the
23-
optional Matplotlib backends and the capabilities they provide.
2423

25-
* Tk_ (>= 8.3, != 8.6.0 or 8.6.1): for the Tk-based backends.
24+
.. _optional_dependencies:
25+
26+
Optional dependencies
27+
=====================
28+
29+
The following packages and tools are not required but extend the capabilities
30+
of Matplotlib.
31+
32+
Backends
33+
--------
34+
35+
Matplotlib figures can be rendered to various user interfaces. See
36+
:ref:`what-is-a-backend` for more details on the optional Matplotlib backends
37+
and the capabilities they provide.
38+
39+
* Tk_ (>= 8.3, != 8.6.0 or 8.6.1) [#]_: for the Tk-based backends.
2640
* PyQt4_ (>= 4.6) or PySide_ (>= 1.0.3) [#]_: for the Qt4-based backends.
2741
* PyQt5_ or PySide2_: for the Qt5-based backends.
2842
* PyGObject_: for the GTK3-based backends [#]_.
@@ -42,38 +56,51 @@ optional Matplotlib backends and the capabilities they provide.
4256
.. _cairocffi: https://cairocffi.readthedocs.io/en/latest/
4357
.. _Tornado: https://pypi.org/project/tornado
4458

59+
.. [#] Tk is part of most standard Python installations, but it's not part of
60+
Python itself and thus may not be present in rare cases.
4561
.. [#] PySide cannot be pip-installed on Linux (but can be conda-installed).
4662
.. [#] If using pip (and not conda), PyGObject must be built from source; see
4763
https://pygobject.readthedocs.io/en/latest/devguide/dev_environ.html.
4864
.. [#] If using pip (and not conda) on Linux, wxPython wheels must be manually
4965
downloaded from https://wxpython.org/pages/downloads/.
5066
51-
For better support of animation output format and image file formats, LaTeX,
52-
etc., you can install the following:
67+
Animations
68+
----------
5369

5470
* `ffmpeg <https://www.ffmpeg.org/>`_: for saving movies.
5571
* `ImageMagick <https://www.imagemagick.org/script/index.php>`_: for saving
5672
animated gifs.
73+
74+
Font handling and rendering
75+
---------------------------
76+
5777
* `LaTeX <https://www.latex-project.org/>`_ (with `cm-super
5878
<https://ctan.org/pkg/cm-super>`__ ) and `GhostScript (>=9.0)
59-
<https://ghostscript.com/download/>`_ : for rendering text with
60-
LaTeX.
79+
<https://ghostscript.com/download/>`_ : for rendering text with LaTeX.
6180
* `fontconfig <https://www.fontconfig.org>`_ (>= 2.7): for detection of system
6281
fonts on Linux.
6382

64-
FreeType and Qhull
65-
------------------
83+
C libraries
84+
===========
6685

67-
Matplotlib depends on FreeType_ (>= 2.3), a font rendering library, and on
68-
Qhull_ (>= 2020.2), a library for computing triangulations. By default,
69-
Matplotlib downloads and builds its own copies of FreeType (this is necessary
70-
to run the test suite, because different versions of FreeType rasterize
71-
characters differently) and of Qhull. As an exception, Matplotlib defaults to
72-
the system version of FreeType on AIX.
86+
Matplotlib brings its own copies of the following libraries:
87+
88+
- ``Agg``: the Anti-Grain Geometry C++ rendering engine
89+
- ``ttconv``: a TrueType font utility
90+
91+
Additionally, Matplotlib depends on:
92+
93+
- FreeType_ (>= 2.3): a font rendering library
94+
- QHull_ (>= 2020.2): a library for computing triangulations
7395

7496
.. _FreeType: https://www.freetype.org/
7597
.. _Qhull: http://www.qhull.org/
7698

99+
By default, Matplotlib downloads and builds its own copies of FreeType (this is
100+
necessary to run the test suite, because different versions of FreeType
101+
rasterize characters differently) and of Qhull. As an exception, Matplotlib
102+
defaults to the system version of FreeType on AIX.
103+
77104
To force Matplotlib to use a copy of FreeType or Qhull already installed in
78105
your system, create a :file:`setup.cfg` file with the following contents:
79106

@@ -130,13 +157,6 @@ and on Windows:
130157
set CL=/IC:\directory\containing\ft2build.h
131158
set LINK=/LIBPATH:C:\directory\containing\freetype.lib
132159
133-
.. note::
134-
135-
Matplotlib always uses its own copies of the following libraries:
136-
137-
- ``Agg``: the Anti-Grain Geometry C++ rendering engine;
138-
- ``ttconv``: a TrueType font utility.
139-
140160
If you go this route but need to reset and rebuild to change your settings,
141161
remember to clear your artifacts before re-building::
142162

doc/devel/release_guide.rst

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -387,9 +387,8 @@ inclusion in their newsletter.
387387
Conda packages
388388
==============
389389

390-
The conda packaging scripts for Matplotlib are hosted at
391-
https://github.com/conda-forge/matplotlib-feedstock.
390+
The Matplotlib project itself does not release conda packages. In particular,
391+
the Matplotlib release manager is not responsible for conda packaging.
392392

393-
This is for information only. The conda packages are not released by the
394-
Matplotlib project but by third parties. In particular, the Matplotlib release
395-
manager is not responsible for conda packaging.
393+
The conda-forge packaging is done by third parties. See
394+
https://github.com/conda-forge/matplotlib-feedstock.

0 commit comments

Comments
 (0)
0