Skip to content

Commit 26ecb33

Browse files
committed
Merge branch 'text-overhaul' into text-overhaul-figures-per-commit
2 parents 05ca232 + 04c8eef commit 26ecb33

File tree

277 files changed

+3987
-1265
lines changed

Some content is hidden

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

277 files changed

+3987
-1265
lines changed

.github/workflows/cibuildwheel.yml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
SDIST_NAME: ${{ steps.sdist.outputs.SDIST_NAME }}
4242

4343
steps:
44-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
44+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
4545
with:
4646
fetch-depth: 0
4747
persist-credentials: false
@@ -127,15 +127,17 @@ jobs:
127127
- os: ubuntu-24.04-arm
128128
cibw_archs: "aarch64"
129129
- os: windows-latest
130-
cibw_archs: "auto64"
130+
cibw_archs: "AMD64"
131+
- os: windows-11-arm
132+
cibw_archs: "ARM64"
131133
- os: macos-13
132134
cibw_archs: "x86_64"
133135
- os: macos-14
134136
cibw_archs: "arm64"
135137

136138
steps:
137139
- name: Download sdist
138-
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
140+
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
139141
with:
140142
name: cibw-sdist
141143
path: dist/
@@ -145,7 +147,7 @@ jobs:
145147
run: Remove-Item -Recurse C:\Strawberry
146148

147149
- name: Build wheels for CPython 3.14
148-
uses: pypa/cibuildwheel@95d2f3a92fbf80abe066b09418bbf128a8923df2 # v3.0.1
150+
uses: pypa/cibuildwheel@352e01339f0a173aa2a3eb57f01492e341e83865 # v3.1.3
149151
with:
150152
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
151153
env:
@@ -159,7 +161,7 @@ jobs:
159161
--upgrade --pre --only-binary=:all: contourpy numpy pillow
160162
161163
- name: Build wheels for CPython 3.13
162-
uses: pypa/cibuildwheel@95d2f3a92fbf80abe066b09418bbf128a8923df2 # v3.0.1
164+
uses: pypa/cibuildwheel@352e01339f0a173aa2a3eb57f01492e341e83865 # v3.1.3
163165
with:
164166
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
165167
env:
@@ -168,30 +170,30 @@ jobs:
168170
CIBW_ARCHS: ${{ matrix.cibw_archs }}
169171

170172
- name: Build wheels for CPython 3.12
171-
uses: pypa/cibuildwheel@95d2f3a92fbf80abe066b09418bbf128a8923df2 # v3.0.1
173+
uses: pypa/cibuildwheel@352e01339f0a173aa2a3eb57f01492e341e83865 # v3.1.3
172174
with:
173175
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
174176
env:
175177
CIBW_BUILD: "cp312-*"
176178
CIBW_ARCHS: ${{ matrix.cibw_archs }}
177179

178180
- name: Build wheels for CPython 3.11
179-
uses: pypa/cibuildwheel@95d2f3a92fbf80abe066b09418bbf128a8923df2 # v3.0.1
181+
uses: pypa/cibuildwheel@352e01339f0a173aa2a3eb57f01492e341e83865 # v3.1.3
180182
with:
181183
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
182184
env:
183185
CIBW_BUILD: "cp311-*"
184186
CIBW_ARCHS: ${{ matrix.cibw_archs }}
185187

186188
- name: Build wheels for PyPy
187-
uses: pypa/cibuildwheel@95d2f3a92fbf80abe066b09418bbf128a8923df2 # v3.0.1
189+
uses: pypa/cibuildwheel@352e01339f0a173aa2a3eb57f01492e341e83865 # v3.1.3
188190
with:
189191
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
190192
env:
191193
CIBW_BUILD: "pp311-*"
192194
CIBW_ARCHS: ${{ matrix.cibw_archs }}
193195
CIBW_ENABLE: pypy
194-
if: matrix.cibw_archs != 'aarch64' && matrix.os != 'windows-latest'
196+
if: matrix.cibw_archs != 'aarch64' && matrix.os != 'windows-latest' && matrix.os != 'windows-11-arm'
195197

196198
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
197199
with:
@@ -211,7 +213,7 @@ jobs:
211213
contents: read
212214
steps:
213215
- name: Download packages
214-
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
216+
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
215217
with:
216218
pattern: cibw-*
217219
path: dist

.github/workflows/circleci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
steps:
1212
- name: GitHub Action step
1313
uses:
14-
scientific-python/circleci-artifacts-redirector-action@7eafdb60666f57706a5525a2f5eb76224dc8779b # v1.1.0
14+
scientific-python/circleci-artifacts-redirector-action@839631420e45a08af893032e5a5e8843bf47e8ff # v1.2.0
1515
with:
1616
repo-token: ${{ secrets.GITHUB_TOKEN }}
1717
api-token: ${{ secrets.CIRCLECI_TOKEN }}
@@ -28,7 +28,7 @@ jobs:
2828
runs-on: ubuntu-latest
2929
name: Post warnings/errors as review
3030
steps:
31-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
31+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
3232
with:
3333
persist-credentials: false
3434

.github/workflows/clean_pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-latest
1111

1212
steps:
13-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
13+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
1414
with:
1515
fetch-depth: '0'
1616
persist-credentials: false

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ jobs:
2727

2828
steps:
2929
- name: Checkout repository
30-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
30+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
3131
with:
3232
persist-credentials: false
3333

3434
- name: Initialize CodeQL
35-
uses: github/codeql-action/init@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
35+
uses: github/codeql-action/init@96f518a34f7a870018057716cc4d7a5c014bd61c # v3.29.10
3636
with:
3737
languages: ${{ matrix.language }}
3838

@@ -43,4 +43,4 @@ jobs:
4343
pip install --user -v .
4444
4545
- name: Perform CodeQL Analysis
46-
uses: github/codeql-action/analyze@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
46+
uses: github/codeql-action/analyze@96f518a34f7a870018057716cc4d7a5c014bd61c # v3.29.10

.github/workflows/cygwin.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ jobs:
7979
- name: Fix line endings
8080
run: git config --global core.autocrlf input
8181

82-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
82+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
8383
with:
8484
fetch-depth: 0
8585
persist-credentials: false
@@ -140,21 +140,21 @@ jobs:
140140
# FreeType build fails with bash, succeeds with dash
141141

142142
- name: Cache pip
143-
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
143+
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
144144
with:
145145
path: C:\cygwin\home\runneradmin\.cache\pip
146146
key: Cygwin-py3.${{ matrix.python-minor-version }}-pip-${{ hashFiles('requirements/*/*.txt') }}
147147
restore-keys: ${{ matrix.os }}-py3.${{ matrix.python-minor-version }}-pip-
148148

149149
- name: Cache ccache
150-
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
150+
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
151151
with:
152152
path: C:\cygwin\home\runneradmin\.ccache
153153
key: Cygwin-py3.${{ matrix.python-minor-version }}-ccache-${{ hashFiles('src/*') }}
154154
restore-keys: Cygwin-py3.${{ matrix.python-minor-version }}-ccache-
155155

156156
- name: Cache Matplotlib
157-
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
157+
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
158158
with:
159159
path: |
160160
C:\cygwin\home\runneradmin\.cache\matplotlib

.github/workflows/reviewdog.yml renamed to .github/workflows/linting.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ jobs:
1010
name: precommit
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
13+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
1414
with:
1515
fetch-depth: 0
16+
persist-credentials: false
1617
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
1718
with:
1819
python-version: "3.x"
@@ -26,7 +27,7 @@ jobs:
2627
permissions:
2728
checks: write
2829
steps:
29-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
30+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
3031
with:
3132
persist-credentials: false
3233

@@ -55,7 +56,7 @@ jobs:
5556
permissions:
5657
checks: write
5758
steps:
58-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
59+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
5960
with:
6061
persist-credentials: false
6162

@@ -86,7 +87,7 @@ jobs:
8687
permissions:
8788
checks: write
8889
steps:
89-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
90+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
9091
with:
9192
persist-credentials: false
9293

.github/workflows/mypy-stubtest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
permissions:
1313
checks: write
1414
steps:
15-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
15+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
1616
with:
1717
persist-credentials: false
1818

.github/workflows/pr_welcome.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
permissions:
1010
pull-requests: write
1111
steps:
12-
- uses: actions/first-interaction@34f15e814fe48ac9312ccf29db4e74fa767cbab7 # v1.3.0
12+
- uses: actions/first-interaction@753c925c8d1ac6fede23781875376600628d9b5d # v3.0.0
1313
with:
1414
repo-token: ${{ secrets.GITHUB_TOKEN }}
1515
pr-message: >+

.github/workflows/tests.yml

Lines changed: 32 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ jobs:
9090
pygobject-ver: '<3.52.0'
9191

9292
steps:
93-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
93+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
9494
with:
9595
fetch-depth: 0
9696
persist-credentials: false
@@ -198,31 +198,31 @@ jobs:
198198
esac
199199
200200
- name: Cache pip
201-
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
201+
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
202202
if: startsWith(runner.os, 'Linux')
203203
with:
204204
path: ~/.cache/pip
205205
key: ${{ matrix.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('requirements/*/*.txt') }}
206206
restore-keys: |
207207
${{ matrix.os }}-py${{ matrix.python-version }}-pip-
208208
- name: Cache pip
209-
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
209+
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
210210
if: startsWith(runner.os, 'macOS')
211211
with:
212212
path: ~/Library/Caches/pip
213213
key: ${{ matrix.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('requirements/*/*.txt') }}
214214
restore-keys: |
215215
${{ matrix.os }}-py${{ matrix.python-version }}-pip-
216216
- name: Cache ccache
217-
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
217+
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
218218
with:
219219
path: |
220220
~/.ccache
221221
key: ${{ matrix.os }}-py${{ matrix.python-version }}-ccache-${{ hashFiles('src/*') }}
222222
restore-keys: |
223223
${{ matrix.os }}-py${{ matrix.python-version }}-ccache-
224224
- name: Cache Matplotlib
225-
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
225+
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
226226
with:
227227
path: |
228228
~/.cache/matplotlib
@@ -363,34 +363,29 @@ jobs:
363363
- name: Cleanup non-failed image files
364364
if: failure()
365365
run: |
366-
function remove_files() {
367-
local extension=$1
368-
find ./result_images -name "*-expected*.$extension" | while read file; do
369-
if [[ $file == *"-expected_pdf"* ]]; then
370-
base=${file%-expected_pdf.$extension}_pdf
371-
elif [[ $file == *"-expected_eps"* ]]; then
372-
base=${file%-expected_eps.$extension}_eps
373-
elif [[ $file == *"-expected_svg"* ]]; then
374-
base=${file%-expected_svg.$extension}_svg
375-
elif [[ $file == *"-expected_gif"* ]]; then
376-
base=${file%-expected_gif.$extension}_gif
377-
else
378-
base=${file%-expected.$extension}
379-
fi
380-
if [[ ! -e "${base}-failed-diff.$extension" ]]; then
381-
if [[ -e "$file" ]]; then
382-
rm "$file"
383-
echo "Removed $file"
384-
fi
385-
if [[ -e "${base}.$extension" ]]; then
386-
rm "${base}.$extension"
387-
echo " Removed ${base}.$extension"
388-
fi
389-
fi
366+
find ./result_images -name "*-expected*.png" | while read file; do
367+
if [[ $file == *-expected_???.png ]]; then
368+
extension=${file: -7:3}
369+
base=${file%*-expected_$extension.png}_$extension
370+
else
371+
extension="png"
372+
base=${file%-expected.png}
373+
fi
374+
if [[ ! -e ${base}-failed-diff.png ]]; then
375+
indent=""
376+
list=($file $base.png)
377+
if [[ $extension != "png" ]]; then
378+
list+=(${base%_$extension}-expected.$extension ${base%_$extension}.$extension)
379+
fi
380+
for to_remove in "${list[@]}"; do
381+
if [[ -e $to_remove ]]; then
382+
rm $to_remove
383+
echo "${indent}Removed $to_remove"
384+
fi
385+
indent+=" "
390386
done
391-
}
392-
393-
remove_files "png"; remove_files "svg"; remove_files "pdf"; remove_files "eps"; remove_files "gif";
387+
fi
388+
done
394389
395390
if [ "$(find ./result_images -mindepth 1 -type d)" ]; then
396391
find ./result_images/* -type d -empty -delete
@@ -402,13 +397,14 @@ jobs:
402397
if [[ "${{ runner.os }}" != 'macOS' ]]; then
403398
LCOV_IGNORE_ERRORS=',' # do not ignore any lcov errors by default
404399
if [[ "${{ matrix.os }}" = ubuntu-24.04 ]]; then
405-
# filter mismatch and unused-entity errors detected by lcov 2.x
406-
LCOV_IGNORE_ERRORS='mismatch,unused'
400+
# filter mismatch errors detected by lcov 2.x
401+
LCOV_IGNORE_ERRORS='mismatch'
407402
fi
408403
lcov --rc lcov_branch_coverage=1 --ignore-errors $LCOV_IGNORE_ERRORS \
409-
--capture --directory . --output-file coverage.info
404+
--capture --directory . --exclude $PWD/subprojects --exclude $PWD/build \
405+
--output-file coverage.info
410406
lcov --rc lcov_branch_coverage=1 --ignore-errors $LCOV_IGNORE_ERRORS \
411-
--output-file coverage.info --extract coverage.info $PWD/src/'*' $PWD/lib/'*'
407+
--output-file coverage.info --extract coverage.info $PWD/src/'*'
412408
lcov --rc lcov_branch_coverage=1 --ignore-errors $LCOV_IGNORE_ERRORS \
413409
--list coverage.info
414410
find . -name '*.gc*' -delete

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ pip-wheel-metadata/*
4444
.tox
4545
# build subproject files
4646
subprojects/*/
47+
subprojects/.*
4748
!subprojects/packagefiles/
4849

4950
# OS generated files #

0 commit comments

Comments
 (0)