Skip to content

Commit 37f8d75

Browse files
authored
Merge branch 'matplotlib:main' into axes-bar-unit-test-for-issue-26864
2 parents 0434774 + c16d7db commit 37f8d75

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1221
-422
lines changed

.github/workflows/cibuildwheel.yml

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -137,53 +137,39 @@ jobs:
137137
path: dist/
138138

139139
- name: Build wheels for CPython 3.12
140-
uses: pypa/cibuildwheel@7da7df1efc530f07d1945c00934b8cfd34be0d50 # v2.16.1
140+
uses: pypa/cibuildwheel@fff9ec32ed25a9c576750c91e06b410ed0c15db7 # v2.16.2
141141
with:
142142
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
143143
env:
144144
CIBW_BUILD: "cp312-*"
145145
CIBW_ARCHS: ${{ matrix.cibw_archs }}
146-
# Remove this once NumPy with Python 3.12 wheels is not pre-release.
147-
CIBW_BEFORE_BUILD: >-
148-
pip install "meson-python>=0.13.1" ninja "pybind11>=2.6" "setuptools>=42" "setuptools_scm>=7" &&
149-
pip install --pre "numpy>=1.25" &&
150-
rm -rf {package}/build
151-
CIBW_BEFORE_BUILD_WINDOWS: >-
152-
pip install delvewheel "meson-python>=0.13.1" ninja "pybind11>=2.6" "setuptools>=42" "setuptools_scm>=7" &&
153-
pip install --pre "numpy>=1.25" &&
154-
rm -rf {package}/build
155-
CIBW_ENVIRONMENT: PIP_NO_BUILD_ISOLATION=0
156-
# Remove this once contourpy has Python 3.12 wheels.
157-
CIBW_BEFORE_TEST: >-
158-
pip install "meson>=1.2.0" "meson-python>=0.13.1" "ninja" "pybind11>=2.10.4" &&
159-
pip install --pre "numpy>=1.25"
160146

161147
- name: Build wheels for CPython 3.11
162-
uses: pypa/cibuildwheel@7da7df1efc530f07d1945c00934b8cfd34be0d50 # v2.16.1
148+
uses: pypa/cibuildwheel@fff9ec32ed25a9c576750c91e06b410ed0c15db7 # v2.16.2
163149
with:
164150
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
165151
env:
166152
CIBW_BUILD: "cp311-*"
167153
CIBW_ARCHS: ${{ matrix.cibw_archs }}
168154

169155
- name: Build wheels for CPython 3.10
170-
uses: pypa/cibuildwheel@7da7df1efc530f07d1945c00934b8cfd34be0d50 # v2.16.1
156+
uses: pypa/cibuildwheel@fff9ec32ed25a9c576750c91e06b410ed0c15db7 # v2.16.2
171157
with:
172158
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
173159
env:
174160
CIBW_BUILD: "cp310-*"
175161
CIBW_ARCHS: ${{ matrix.cibw_archs }}
176162

177163
- name: Build wheels for CPython 3.9
178-
uses: pypa/cibuildwheel@7da7df1efc530f07d1945c00934b8cfd34be0d50 # v2.16.1
164+
uses: pypa/cibuildwheel@fff9ec32ed25a9c576750c91e06b410ed0c15db7 # v2.16.2
179165
with:
180166
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
181167
env:
182168
CIBW_BUILD: "cp39-*"
183169
CIBW_ARCHS: ${{ matrix.cibw_archs }}
184170

185171
- name: Build wheels for PyPy
186-
uses: pypa/cibuildwheel@7da7df1efc530f07d1945c00934b8cfd34be0d50 # v2.16.1
172+
uses: pypa/cibuildwheel@fff9ec32ed25a9c576750c91e06b410ed0c15db7 # v2.16.2
187173
with:
188174
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
189175
env:

.github/workflows/reviewdog.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,7 @@ jobs:
6565
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6666
run: |
6767
set -o pipefail
68-
# The --ignore-missing-imports can be removed when typed cycler is released and used
6968
mypy --config pyproject.toml lib/matplotlib \
70-
--ignore-missing-imports \
7169
--follow-imports silent | \
7270
reviewdog -f=mypy -name=mypy \
7371
-tee -reporter=github-check -filter-mode nofilter

.github/workflows/tests.yml

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,8 @@ jobs:
7777
pyside6-ver: '!=6.5.1'
7878
extra-requirements: '-r requirements/testing/extra.txt'
7979
- os: ubuntu-22.04
80-
python-version: '3.12-dev'
80+
python-version: '3.12'
8181
pyside6-ver: '!=6.5.1'
82-
pre: true
8382
- os: macos-latest
8483
python-version: 3.9
8584
# https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
@@ -196,10 +195,8 @@ jobs:
196195
python -m pip install --upgrade pip setuptools wheel
197196
198197
# Install pre-release versions during our weekly upcoming dependency tests.
199-
# Also install for 3.12 to get working NumPy (remove when 1.26 is released)
200-
if [[ "${{ github.event_name == 'schedule' &&
201-
matrix.name-suffix != '(Minimum Versions)' }}" = "true"
202-
|| "${{ matrix.pre }}" = "true" ]]; then
198+
if [[ "${{ github.event_name }}" == 'schedule'
199+
&& "${{ matrix.name-suffix }}" != '(Minimum Versions)' ]]; then
203200
PRE="--pre"
204201
fi
205202
@@ -241,7 +238,7 @@ jobs:
241238
echo 'PyQt5 is available' ||
242239
echo 'PyQt5 is not available'
243240
if [[ "${{ runner.os }}" != 'macOS'
244-
&& "${{ matrix.python-version != '3.12-dev'}}" = "true" ]]; then
241+
&& "${{ matrix.python-version }}" != '3.12' ]]; then
245242
python -mpip install --upgrade pyside2${{ matrix.pyside2-ver }} &&
246243
python -c 'import PySide2.QtCore' &&
247244
echo 'PySide2 is available' ||
@@ -254,14 +251,14 @@ jobs:
254251
echo 'PyQt6 is not available'
255252
fi
256253
if [[ "${{ runner.os }}" != 'macOS'
257-
&& "${{ matrix.python-version != '3.12-dev'}}" = "true" ]]; then
254+
&& "${{ matrix.python-version }}" != '3.12' ]]; then
258255
python -mpip install --upgrade pyside6${{ matrix.pyside6-ver }} &&
259256
python -c 'import PySide6.QtCore' &&
260257
echo 'PySide6 is available' ||
261258
echo 'PySide6 is not available'
262259
fi
263260
264-
if [[ "${{ matrix.python-version != '3.12-dev'}}" = "true" ]]; then
261+
if [[ "${{ matrix.python-version }}" != '3.12' ]]; then
265262
python -mpip install --upgrade \
266263
-f "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/${{ matrix.os }}" \
267264
wxPython &&

.pre-commit-config.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,23 @@ repos:
2626
- id: no-commit-to-branch #default is master and main
2727
- id: trailing-whitespace
2828
exclude_types: [svg]
29+
- repo: https://github.com/pre-commit/mirrors-mypy
30+
rev: v1.1.1
31+
hooks:
32+
- id: mypy
33+
additional_dependencies: [
34+
pandas-stubs,
35+
types-pillow,
36+
types-python-dateutil,
37+
types-psutil,
38+
types-docutils,
39+
types-PyYAML]
40+
args: [
41+
"--config-file=pyproject.toml",
42+
"lib/matplotlib"
43+
]
44+
files: lib/matplotlib #only run when files in lib/matplotlib are changed
45+
pass_filenames: false
2946
- repo: https://github.com/pycqa/flake8
3047
rev: 6.0.0
3148
hooks:

doc/api/figure_api.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,3 +306,8 @@ FigureBase parent class
306306
=======================
307307

308308
.. autoclass:: FigureBase
309+
310+
Helper functions
311+
================
312+
313+
.. autofunction:: figaspect
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Extensions require C++17
2+
~~~~~~~~~~~~~~~~~~~~~~~~
3+
4+
Matplotlib now requires a compiler that supports C++17 in order to build its extensions.
5+
According to `SciPy's analysis
6+
<https://docs.scipy.org/doc/scipy/dev/toolchain.html#c-language-standards>`_, this
7+
should be available on all supported platforms.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Removing Deprecated API SimpleEvent
2+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3+
``matplotlib.patches.ConnectionStyle._Base.SimpleEvent``

doc/devel/dependencies.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ in your target environment manually:
233233
C++ compiler
234234
------------
235235

236-
Matplotlib requires a C++ compiler that supports C++11, and each platform has a
236+
Matplotlib requires a C++ compiler that supports C++17, and each platform has a
237237
development environment that must be installed before a compiler can be installed.
238238

239239
.. tab-set::
@@ -277,18 +277,18 @@ Xcode, VS Code or Linux package manager. Choose **one** compiler from this list:
277277
- platforms
278278
- notes
279279
* - GCC
280-
- **4.8.1**
280+
- **7.2**
281281
- Linux, macOS, Windows
282-
- `gcc 4.8.1 <https://gcc.gnu.org/projects/cxx-status.html#cxx11>`_,
282+
- `gcc 7.2 <https://gcc.gnu.org/projects/cxx-status.html#cxx17>`_,
283283
`GCC: Binaries <https://gcc.gnu.org/install/binaries.html>`_,
284284
* - Clang (LLVM)
285-
- **3.3**
285+
- **5**
286286
- Linux, macOS
287-
- `clang 3.3 <https://clang.llvm.org/cxx_status.html>`_, `LLVM <https://releases.llvm.org/download.html>`_
287+
- `clang 5 <https://clang.llvm.org/cxx_status.html>`_, `LLVM <https://releases.llvm.org/download.html>`_
288288
* - MSVC++
289-
- **14.0**
289+
- **16.0**
290290
- Windows
291-
- `Visual Studio 2015 C++ <https://docs.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=msvc-140>`_
291+
- `Visual Studio 2019 C++ <https://docs.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=msvc-160>`_
292292

293293

294294

doc/users/prev_whats_new/whats_new_3.8.0.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,10 @@ This allows users to set the location of the legend in a more flexible and consi
327327
Mathtext improvements
328328
=====================
329329

330+
Improvements are to Mathtext, Matplotlib's native TeX-like mathematics parser
331+
(see :ref:`mathtext`, not to be confused with Matplotlib using LaTeX directly:
332+
:ref:`usetex`).
333+
330334
Boldsymbol mathtext command ``\boldsymbol``
331335
-------------------------------------------
332336

doc/users/resources/index.rst

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,6 @@ Videos
7171
Tutorials
7272
=========
7373

74-
75-
* `The Python Graph Gallery <https://www.python-graph-gallery.com>`_
76-
by Yan Holtz
77-
7874
* `Matplotlib tutorial <https://www.labri.fr/perso/nrougier/teaching/matplotlib/>`_
7975
by Nicolas P. Rougier
8076

@@ -85,3 +81,13 @@ Tutorials
8581
* `Beyond the Basics: Data Visualization in Python
8682
<https://github.com/stefmolin/python-data-viz-workshop>`_
8783
by Stefanie Molin
84+
85+
=========
86+
Galleries
87+
=========
88+
89+
* `Past winners for JDH plotting contest <https://jhepc.github.io/gallery.html>`_
90+
by Nelle Varoquaux
91+
92+
* `The Python Graph Gallery <https://www.python-graph-gallery.com>`_
93+
by Yan Holtz

0 commit comments

Comments
 (0)