44Dependencies
55============
66
7+ Runtime dependencies
8+ ====================
9+
710Mandatory dependencies
8- ======================
11+ ----------------------
912
1013When installing through a package manager like ``pip `` or ``conda ``, the
1114mandatory dependencies are automatically installed. This list is mainly for
@@ -24,13 +27,13 @@ reference.
2427.. _optional_dependencies :
2528
2629Optional dependencies
27- =====================
30+ ---------------------
2831
2932The following packages and tools are not required but extend the capabilities
3033of Matplotlib.
3134
3235Backends
33- --------
36+ ~~~~~~~~
3437
3538Matplotlib figures can be rendered to various user interfaces. See
3639:ref: `what-is-a-backend ` for more details on the optional Matplotlib backends
@@ -65,14 +68,14 @@ and the capabilities they provide.
6568 downloaded from https://wxpython.org/pages/downloads/.
6669
6770 Animations
68- ----------
71+ ~~~~~~~~~~
6972
7073* `ffmpeg <https://www.ffmpeg.org/ >`_: for saving movies.
7174* `ImageMagick <https://www.imagemagick.org/script/index.php >`_: for saving
7275 animated gifs.
7376
7477Font handling and rendering
75- ---------------------------
78+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
7679
7780* `LaTeX <https://www.latex-project.org/ >`_ (with `cm-super
7881 <https://ctan.org/pkg/cm-super> `__ ) and `GhostScript (>=9.0)
@@ -81,7 +84,7 @@ Font handling and rendering
8184 fonts on Linux.
8285
8386C libraries
84- ===========
87+ -----------
8588
8689Matplotlib brings its own copies of the following libraries:
8790
@@ -161,3 +164,83 @@ If you go this route but need to reset and rebuild to change your settings,
161164remember to clear your artifacts before re-building::
162165
163166 git clean -xfd
167+
168+
169+ .. _development-dependencies :
170+
171+ Additional dependencies for development
172+ =======================================
173+
174+ .. _test-dependencies :
175+
176+ Additional dependencies for testing
177+ ===================================
178+ This section lists the additional software required for
179+ :ref: `running the tests <testing >`.
180+
181+ Required:
182+
183+ - pytest _ (>=3.6)
184+ - Ghostscript _ (>= 9.0, to render PDF files)
185+ - Inkscape _ (to render SVG files)
186+
187+ Optional:
188+
189+ - pytest-cov _ (>=2.3.1) to collect coverage information
190+ - pytest-flake8 _ to test coding standards using flake8 _
191+ - pytest-timeout _ to limit runtime in case of stuck tests
192+ - pytest-xdist _ to run tests in parallel
193+
194+ .. _pytest : http://doc.pytest.org/en/latest/
195+ .. _Ghostscript : https://www.ghostscript.com/
196+ .. _Inkscape : https://inkscape.org
197+ .. _pytest-cov : https://pytest-cov.readthedocs.io/en/latest/
198+ .. _pytest-flake8 : https://pypi.org/project/pytest-flake8/
199+ .. _pytest-xdist : https://pypi.org/project/pytest-xdist/
200+ .. _pytest-timeout : https://pypi.org/project/pytest-timeout/
201+ .. _flake8 : https://pypi.org/project/flake8/
202+
203+
204+ .. _doc-dependencies :
205+
206+ Additional dependencies for building documentation
207+ ==================================================
208+
209+ Python packages
210+ ---------------
211+ The additional Python packages required to build the
212+ :ref: `documentation <documenting-matplotlib >` are listed in
213+ :file: `doc-requirements.txt ` and can be installed using ::
214+
215+ pip install -r requirements/doc/doc-requirements.txt
216+
217+ The content of :file: `doc-requirements.txt ` is also shown below:
218+
219+ .. include :: ../../requirements/doc/doc-requirements.txt
220+ :literal:
221+
222+ Additional external dependencies
223+ --------------------------------
224+ Required:
225+
226+ * a minimal working LaTeX distribution
227+ * `Graphviz <http://www.graphviz.org/download >`_
228+ * the LaTeX packages *cm-super * and *dvipng * (if your OS bundles TeXLive, the
229+ "complete" version of the installer, e.g. "texlive-full" or "texlive-all",
230+ will often automatically include these packages)
231+
232+ Optional, but recommended:
233+
234+ * `Inkscape <https://inkscape.org >`_
235+ * `optipng <http://optipng.sourceforge.net >`_
236+ * the font "Humor Sans" (aka the "XKCD" font), or the free alternative
237+ `Comic Neue <http://comicneue.com/ >`_
238+ * the font "Times New Roman"
239+
240+ .. note ::
241+
242+ The documentation will not build without LaTeX and Graphviz. These are not
243+ Python packages and must be installed separately. The documentation can be
244+ built without Inkscape and optipng, but the build process will raise various
245+ warnings. If the build process warns that you are missing fonts, make sure
246+ your LaTeX distribution bundles cm-super or install it separately.
0 commit comments