Skip to content

Commit 9cbb350

Browse files
Merge branch 'matplotlib:main' into mplot3d-elev-azim-roll-doc
2 parents f315cac + efacc7d commit 9cbb350

File tree

964 files changed

+44233
-127674
lines changed

Some content is hidden

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

964 files changed

+44233
-127674
lines changed

.appveyor.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ skip_commits:
1717

1818
clone_depth: 50
1919

20-
image: Visual Studio 2019
20+
image: Visual Studio 2022
2121

2222
environment:
2323

@@ -45,16 +45,16 @@ cache:
4545

4646
init:
4747
- ps:
48-
# Pinned due to https://github.com/mamba-org/mamba/issues/3467
4948
Invoke-Webrequest
50-
-URI https://github.com/mamba-org/micromamba-releases/releases/download/1.5.10-0/micromamba-win-64.tar.bz2
49+
-URI https://micro.mamba.pm/api/micromamba/win-64/latest
5150
-OutFile C:\projects\micromamba.tar.bz2
5251
- ps: C:\PROGRA~1\7-Zip\7z.exe x C:\projects\micromamba.tar.bz2 -aoa -oC:\projects\
5352
- ps: C:\PROGRA~1\7-Zip\7z.exe x C:\projects\micromamba.tar -ttar -aoa -oC:\projects\
5453
- 'set PATH=C:\projects\Library\bin;%PATH%'
5554
- micromamba shell init --shell cmd.exe
5655
- micromamba config set always_yes true
5756
- micromamba config prepend channels conda-forge
57+
- micromamba info
5858

5959
install:
6060
- micromamba env create -f environment.yml python=%PYTHON_VERSION% pywin32
@@ -63,7 +63,7 @@ install:
6363
test_script:
6464
# Now build the thing..
6565
- set LINK=/LIBPATH:%cd%\lib
66-
- pip install -v --no-build-isolation --config-settings=setup-args="--vsenv" --editable .[dev]
66+
- pip install -v --no-build-isolation --editable .[dev]
6767
# this should show no freetype dll...
6868
- set "DUMPBIN=%VS140COMNTOOLS%\..\..\VC\bin\dumpbin.exe"
6969
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\ft2font*.pyd | findstr freetype.*.dll && exit /b 1 || exit /b 0'
@@ -91,7 +91,7 @@ artifacts:
9191

9292
on_finish:
9393
- micromamba install codecov
94-
- codecov -e PYTHON_VERSION PLATFORM -n "$PYTHON_VERSION Windows"
94+
- codecov -e PYTHON_VERSION PLATFORM -n "%PYTHON_VERSION% Windows"
9595

9696
on_failure:
9797
# Generate a html for visual tests

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ commands:
9898
parameters:
9999
numpy_version:
100100
type: string
101-
default: "~=2.0.0"
101+
default: ""
102102
steps:
103103
- run:
104104
name: Install Python dependencies

.flake8

Lines changed: 0 additions & 91 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ body:
1515
attributes:
1616
label: Code for reproduction
1717
description: >-
18-
If possible, please provide a minimum self-contained example.
18+
If possible, please provide a minimum self-contained example. If you
19+
have used generative AI as an aid see
20+
https://matplotlib.org/devdocs/devel/contribute.html#restrictions-on-generative-ai-usage
1921
placeholder: Paste your code here. This field is automatically formatted as Python code.
2022
render: Python
2123
validations:

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ out the development guide https://matplotlib.org/devdocs/devel/index.html
1313
Additionally, please summarize the changes in the title, for example "Raise ValueError on
1414
non-numeric input to set_xlim" and avoid non-descriptive titles such as "Addresses
1515
issue #8576".
16+
17+
If possible, please provide a minimum self-contained example. If you have used
18+
generative AI as an aid in preparing this PR, see
19+
20+
https://matplotlib.org/devdocs/devel/contribute.html#restrictions-on-generative-ai-usage
1621
-->
1722

1823

.github/workflows/cibuildwheel.yml

Lines changed: 55 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -24,29 +24,32 @@ permissions:
2424
jobs:
2525
build_sdist:
2626
if: >-
27-
github.event_name == 'push' ||
28-
github.event_name == 'pull_request' && (
29-
(
30-
github.event.action == 'labeled' &&
31-
github.event.label.name == 'CI: Run cibuildwheel'
32-
) ||
33-
contains(github.event.pull_request.labels.*.name,
34-
'CI: Run cibuildwheel')
27+
github.repository == 'matplotlib/matplotlib' && (
28+
github.event_name == 'push' ||
29+
github.event_name == 'pull_request' && (
30+
(
31+
github.event.action == 'labeled' &&
32+
github.event.label.name == 'CI: Run cibuildwheel'
33+
) ||
34+
contains(github.event.pull_request.labels.*.name,
35+
'CI: Run cibuildwheel')
36+
)
3537
)
3638
name: Build sdist
37-
runs-on: ubuntu-20.04
39+
runs-on: ubuntu-latest
3840
outputs:
3941
SDIST_NAME: ${{ steps.sdist.outputs.SDIST_NAME }}
4042

4143
steps:
42-
- uses: actions/checkout@v4
44+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
4345
with:
4446
fetch-depth: 0
47+
persist-credentials: false
4548

46-
- uses: actions/setup-python@v5
49+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
4750
name: Install Python
4851
with:
49-
python-version: '3.10'
52+
python-version: '3.11'
5053

5154
# Something changed somewhere that prevents the downloaded-at-build-time
5255
# licenses from being included in built wheels, so pre-download them so
@@ -69,22 +72,24 @@ jobs:
6972
run: twine check dist/*
7073

7174
- name: Upload sdist result
72-
uses: actions/upload-artifact@v4
75+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
7376
with:
7477
name: cibw-sdist
7578
path: dist/*.tar.gz
7679
if-no-files-found: error
7780

7881
build_wheels:
7982
if: >-
80-
github.event_name == 'push' ||
81-
github.event_name == 'pull_request' && (
82-
(
83-
github.event.action == 'labeled' &&
84-
github.event.label.name == 'CI: Run cibuildwheel'
85-
) ||
86-
contains(github.event.pull_request.labels.*.name,
87-
'CI: Run cibuildwheel')
83+
github.repository == 'matplotlib/matplotlib' && (
84+
github.event_name == 'push' ||
85+
github.event_name == 'pull_request' && (
86+
(
87+
github.event.action == 'labeled' &&
88+
github.event.label.name == 'CI: Run cibuildwheel'
89+
) ||
90+
contains(github.event.pull_request.labels.*.name,
91+
'CI: Run cibuildwheel')
92+
)
8893
)
8994
needs: build_sdist
9095
name: Build wheels on ${{ matrix.os }} for ${{ matrix.cibw_archs }}
@@ -114,13 +119,12 @@ jobs:
114119
CIBW_TEST_COMMAND: >-
115120
python {package}/ci/check_version_number.py
116121
MACOSX_DEPLOYMENT_TARGET: "10.12"
117-
MPL_DISABLE_FH4: "yes"
118122
strategy:
119123
matrix:
120124
include:
121-
- os: ubuntu-20.04
125+
- os: ubuntu-latest
122126
cibw_archs: "x86_64"
123-
- os: ubuntu-20.04
127+
- os: ubuntu-24.04-arm
124128
cibw_archs: "aarch64"
125129
- os: windows-latest
126130
cibw_archs: "auto64"
@@ -130,85 +134,69 @@ jobs:
130134
cibw_archs: "arm64"
131135

132136
steps:
133-
- name: Set up QEMU
134-
if: matrix.cibw_archs == 'aarch64'
135-
uses: docker/setup-qemu-action@v3
136-
with:
137-
platforms: arm64
138-
139137
- name: Download sdist
140-
uses: actions/download-artifact@v4
138+
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
141139
with:
142140
name: cibw-sdist
143141
path: dist/
144142

143+
- name: Build wheels for CPython 3.14
144+
uses: pypa/cibuildwheel@95d2f3a92fbf80abe066b09418bbf128a8923df2 # v3.0.1
145+
with:
146+
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
147+
env:
148+
CIBW_BUILD: "cp314-* cp314t-*"
149+
CIBW_ENABLE: "cpython-freethreading cpython-prerelease"
150+
CIBW_ARCHS: ${{ matrix.cibw_archs }}
151+
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
152+
CIBW_BEFORE_TEST: >-
153+
python -m pip install
154+
--index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
155+
--upgrade --pre --only-binary=:all: contourpy numpy pillow
156+
145157
- name: Build wheels for CPython 3.13
146-
uses: pypa/cibuildwheel@7940a4c0e76eb2030e473a5f864f291f63ee879b # v2.21.3
158+
uses: pypa/cibuildwheel@95d2f3a92fbf80abe066b09418bbf128a8923df2 # v3.0.1
147159
with:
148160
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
149161
env:
150162
CIBW_BUILD: "cp313-* cp313t-*"
151-
CIBW_BUILD_FRONTEND:
152-
"pip; args: --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
153-
CIBW_FREE_THREADED_SUPPORT: true
154-
# No free-threading wheels available for aarch64 on Pillow.
155-
CIBW_TEST_SKIP: "cp313t-manylinux_aarch64"
156-
# We need pre-releases to get the nightly wheels.
157-
CIBW_BEFORE_TEST: >-
158-
pip install --pre
159-
--extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
160-
contourpy numpy pillow
163+
CIBW_ENABLE: cpython-freethreading
161164
CIBW_ARCHS: ${{ matrix.cibw_archs }}
162165

163166
- name: Build wheels for CPython 3.12
164-
uses: pypa/cibuildwheel@7940a4c0e76eb2030e473a5f864f291f63ee879b # v2.21.3
167+
uses: pypa/cibuildwheel@95d2f3a92fbf80abe066b09418bbf128a8923df2 # v3.0.1
165168
with:
166169
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
167170
env:
168171
CIBW_BUILD: "cp312-*"
169172
CIBW_ARCHS: ${{ matrix.cibw_archs }}
170173

171174
- name: Build wheels for CPython 3.11
172-
uses: pypa/cibuildwheel@7940a4c0e76eb2030e473a5f864f291f63ee879b # v2.21.3
175+
uses: pypa/cibuildwheel@95d2f3a92fbf80abe066b09418bbf128a8923df2 # v3.0.1
173176
with:
174177
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
175178
env:
176179
CIBW_BUILD: "cp311-*"
177180
CIBW_ARCHS: ${{ matrix.cibw_archs }}
178181

179-
- name: Build wheels for CPython 3.10
180-
uses: pypa/cibuildwheel@7940a4c0e76eb2030e473a5f864f291f63ee879b # v2.21.3
181-
with:
182-
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
183-
env:
184-
CIBW_BUILD: "cp310-*"
185-
CIBW_ARCHS: ${{ matrix.cibw_archs }}
186-
187182
- name: Build wheels for PyPy
188-
uses: pypa/cibuildwheel@7940a4c0e76eb2030e473a5f864f291f63ee879b # v2.21.3
183+
uses: pypa/cibuildwheel@95d2f3a92fbf80abe066b09418bbf128a8923df2 # v3.0.1
189184
with:
190185
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
191186
env:
192-
CIBW_BUILD: "pp310-*"
187+
CIBW_BUILD: "pp311-*"
193188
CIBW_ARCHS: ${{ matrix.cibw_archs }}
194-
# Work around for https://github.com/pypa/setuptools/issues/4571
195-
# This can be removed once kiwisolver has wheels for PyPy 3.10
196-
# https://github.com/nucleic/kiwi/pull/182
197-
CIBW_BEFORE_TEST: >-
198-
export PIP_CONSTRAINT=pypy-constraint.txt &&
199-
echo "setuptools!=72.2.0" > $PIP_CONSTRAINT &&
200-
pip install kiwisolver &&
201-
unset PIP_CONSTRAINT
189+
CIBW_ENABLE: pypy
202190
if: matrix.cibw_archs != 'aarch64' && matrix.os != 'windows-latest'
203191

204-
- uses: actions/upload-artifact@v4
192+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
205193
with:
206194
name: cibw-wheels-${{ runner.os }}-${{ matrix.cibw_archs }}
207195
path: ./wheelhouse/*.whl
208196
if-no-files-found: error
209197

210198
publish:
211-
if: github.event_name == 'push' && github.ref_type == 'tag'
199+
if: github.repository == 'matplotlib/matplotlib' && github.event_name == 'push' && github.ref_type == 'tag'
212200
name: Upload release to PyPI
213201
needs: [build_sdist, build_wheels]
214202
runs-on: ubuntu-latest
@@ -219,7 +207,7 @@ jobs:
219207
contents: read
220208
steps:
221209
- name: Download packages
222-
uses: actions/download-artifact@v4
210+
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
223211
with:
224212
pattern: cibw-*
225213
path: dist
@@ -229,9 +217,9 @@ jobs:
229217
run: ls dist
230218

231219
- name: Generate artifact attestation for sdist and wheel
232-
uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c # v1.4.3
220+
uses: actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be # v2.4.0
233221
with:
234222
subject-path: dist/matplotlib-*
235223

236224
- name: Publish package distributions to PyPI
237-
uses: pypa/gh-action-pypi-publish@fb13cb306901256ace3dab689990e13a5550ffaa # v1.11.0
225+
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4

0 commit comments

Comments
 (0)