1
+ Development changes
2
+ -------------------
3
+
1
4
Build system ported to Meson
2
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3
6
4
7
The build system of Matplotlib has been ported from setuptools to `meson-python
5
8
<https://meson-python.readthedocs.io> `_ and `Meson <https://mesonbuild.com >`_.
@@ -26,7 +29,7 @@ Consequently, there have been a few changes for development and packaging purpos
26
29
27
30
may be replaced by passing the following arguments to ``pip ``::
28
31
29
- --config-settings=setup-args="-DrcParams-backend=Agg" \
32
+ --config-settings=setup-args="-DrcParams-backend=Agg"
30
33
--config-settings=setup-args="-Dsystem-qhull=true"
31
34
32
35
Note that you must use ``pip `` >= 23.1 in order to pass more than one setting.
@@ -37,10 +40,45 @@ Consequently, there have been a few changes for development and packaging purpos
37
40
<https://mesonbuild.com/Builtin-options.html#details-for-vsenv> `_ if you wish to
38
41
change the priority of chosen compilers.
39
42
5. Installation of test data was previously controlled by :file: `mplsetup.cfg `, but has
40
- now been moved to Meson's install tags. To install test data, add the ``tests ``
41
- tag to the requested install (be sure to include the existing tags as below)::
43
+ now been moved to Meson's install tags. To install test data, add the ``tests `` tag
44
+ to the requested install (be sure to include the existing tags as below)::
42
45
43
46
--config-settings=install-args="--tags=data,python-runtime,runtime,tests"
44
47
6. Checking typing stubs with ``stubtest `` does not work easily with editable install.
45
48
For the time being, we suggest using a normal (non-editable) install if you wish to
46
49
run ``stubtest ``.
50
+
51
+ Increase to minimum supported versions of dependencies
52
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
53
+
54
+ For Matplotlib 3.9, the :ref: `minimum supported versions <dependencies >` are being
55
+ bumped:
56
+
57
+ +------------+-----------------+---------------+
58
+ | Dependency | min in mpl3.8 | min in mpl3.9 |
59
+ +============+=================+===============+
60
+ | NumPy | 1.21.0 | 1.23.0 |
61
+ +------------+-----------------+---------------+
62
+ | setuptools | 42 | 64 |
63
+ +------------+-----------------+---------------+
64
+
65
+ This is consistent with our :ref: `min_deps_policy ` and `SPEC 0
66
+ <https://scientific-python.org/specs/spec-0000/> `__.
67
+
68
+ To comply with requirements of ``setuptools_scm ``, the minimum version of ``setuptools ``
69
+ has been increased from 42 to 64.
70
+
71
+ Extensions require C++17
72
+ ^^^^^^^^^^^^^^^^^^^^^^^^
73
+
74
+ Matplotlib now requires a compiler that supports C++17 in order to build its extensions.
75
+ According to `SciPy's analysis
76
+ <https://docs.scipy.org/doc/scipy/dev/toolchain.html#c-language-standards> `_, this
77
+ should be available on all supported platforms.
78
+
79
+ Windows on ARM64 support
80
+ ^^^^^^^^^^^^^^^^^^^^^^^^
81
+
82
+ Windows on ARM64 now bundles FreeType 2.6.1 instead of 2.11.1 when building from source.
83
+ This may cause small changes to text rendering, but should become consistent with all
84
+ other platforms.
0 commit comments