1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
Development changes
-------------------
Increase to minimum supported versions of dependencies
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For Matplotlib 3.5, the :ref:`minimum supported versions <dependencies>` and
some :ref:`optional dependencies <optional_dependencies>` are being bumped:
+---------------+---------------+---------------+
| Dependency | min in mpl3.4 | min in mpl3.5 |
+===============+===============+===============+
| NumPy | 1.16 | 1.17 |
+---------------+---------------+---------------+
| Tk (optional) | 8.3 | 8.4 |
+---------------+---------------+---------------+
This is consistent with our :ref:`min_deps_policy` and `NEP29
<https://numpy.org/neps/nep-0029-deprecation_policy.html>`__
New wheel architectures
~~~~~~~~~~~~~~~~~~~~~~~
Wheels have been added for:
- Python 3.10
- PyPy 3.7
- macOS on Apple Silicon (both arm64 and universal2)
New build dependencies
~~~~~~~~~~~~~~~~~~~~~~
Versioning has been switched from bundled versioneer to `setuptools-scm
<https://github.com/pypa/setuptools_scm/>`__ using the
``release-branch-semver`` version scheme. The latter is well-maintained, but
may require slight modification to packaging scripts.
The `setuptools-scm-git-archive
<https://pypi.org/project/setuptools-scm-git-archive/>`__ plugin is also used
for consistent version export.
Data directory is no longer optional
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Historically, the ``mpl-data`` directory has been optional (example files were
unnecessary, and fonts could be deleted if a suitable dependency on a system
font were provided). Though example files are still optional, they have been
substantially pared down, and we now consider the directory to be required.
Specifically, the ``matplotlibrc`` file found there is used for runtime
verifications and must exist. Packagers may still symlink fonts to system
versions if needed.
New runtime dependencies
~~~~~~~~~~~~~~~~~~~~~~~~
fontTools for type 42 subsetting
................................
A new dependency `fontTools <https://fonttools.readthedocs.io/>`_ is integrated
into Matplotlib 3.5. It is designed to be used with PS/EPS and PDF documents;
and handles Type 42 font subsetting.
Underscore support in LaTeX
...........................
The `underscore <https://ctan.org/pkg/underscore>`_ package is now a
requirement to improve support for underscores in LaTeX.
This is consistent with our :ref:`min_deps_policy`.
Matplotlib-specific build options moved from ``setup.cfg`` to ``mplsetup.cfg``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In order to avoid conflicting with the use of :file:`setup.cfg` by
``setuptools``, the Matplotlib-specific build options have moved from
``setup.cfg`` to ``mplsetup.cfg``. The :file:`setup.cfg.template` has been
correspondingly been renamed to :file:`mplsetup.cfg.template`.
Note that the path to this configuration file can still be set via the ``MPLSETUPCFG``
environment variable, which allows one to keep using the same file before and after this
change.
|