Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
015013c
widgets.pyi: Add missing RadioButtons.index_selected type hint
doronbehar Dec 1, 2025
d2814cf
CheckButtons: rename _checks to _buttons
doronbehar Jan 19, 2026
8c6192a
Bump the actions group across 1 directory with 2 updates
dependabot[bot] Jan 19, 2026
f1854e1
Merge pull request #30999 from matplotlib/dependabot/github_actions/a…
scottshambaugh Jan 20, 2026
1d3c51e
Remove outdated notion of property alias priority from docs.
anntzer Jan 20, 2026
8615068
Merge pull request #31002 from anntzer/ap
rcomer Jan 20, 2026
d28d2ad
Fix grammar: 'it would better' -> 'it would be better' in comment
bodhisilberling Jan 22, 2026
ec3e68d
Merge pull request #31011 from bodhisilberling-2027/fix-grammar-text-…
scottshambaugh Jan 22, 2026
1c40b33
docs: fix docstring formatting and line wrap
MysteriousCode786 Jan 22, 2026
db5a881
Merge branch 'matplotlib:main' into fix-contour-docs-final
MysteriousCode786 Jan 22, 2026
44c1dd4
Doc: Clarify default levels behavior in contour/contourf
sanrishi Jan 22, 2026
e64f5eb
Precommit fix
sanrishi Jan 22, 2026
60ab916
reorg docs to remove misc section, consolidate and cleanup file struc…
story645 Jan 21, 2026
4ca5e0c
*Buttons: use a shared _Buttons class
doronbehar Jan 19, 2026
74842be
*Buttons: use a semi-public self._buttons_ys variable
doronbehar Jan 19, 2026
d900676
*Buttons: share more __init__ functionality
doronbehar Jan 19, 2026
0c12607
Merge pull request #31010 from story645/misc-doc
timhoffm Jan 23, 2026
c77a979
Merge pull request #30997 from doronbehar/_Buttons
timhoffm Jan 23, 2026
e36fd6e
Fix formatting: add space after # in TODO comment
bodhisilberling Jan 23, 2026
74beb7f
move doc build options into tables and tabs
story645 Jan 23, 2026
cc62eba
Remove mutable defaults from tool manager functions
QuLogic Jan 23, 2026
6663149
DOC: Use the old class-based autodoc with Sphinx 9
QuLogic Jan 23, 2026
cde8c89
DOC: Fix cross-references to new _Buttons class
QuLogic Jan 24, 2026
5191512
Merge pull request #31024 from bodhi-silberling/fix-todo-formatting-s…
timhoffm Jan 24, 2026
62834a2
Merge pull request #31025 from story645/build-docs
timhoffm Jan 24, 2026
2fb2fd2
Merge pull request #31020 from QuLogic/fix-sphinx9
timhoffm Jan 24, 2026
74aa9ab
FIX: Handle AxesWidget cleanup after failed init (#30935)
larrybradley Jan 24, 2026
fe7a689
TST: Fix warnings from Pillow for unavailable features
QuLogic Jan 22, 2026
a895fb3
Merge pull request #31014 from QuLogic/fix-pillow-warning
timhoffm Jan 24, 2026
d4ce763
Speedup normalize_kwargs by storing aliases in a more practical format.
anntzer Jan 23, 2026
5dee947
Merge pull request #31023 from anntzer/nk
timhoffm Jan 24, 2026
cee7684
DOC: bring the credits page a little more up-to-date [ci doc]
rcomer Jan 24, 2026
c330648
Improving error message for width and position type mismatch in viol…
hasanrashid Jan 25, 2026
eb6e810
DOC: Make grammatical corrections [ci doc]
star1327p Jan 25, 2026
c4b0dcb
Merge pull request #31034 from star1327p/minor-corrections
timhoffm Jan 25, 2026
ed7f009
DOCS: Fix typo in time array step size comment
vujadinovic Jan 26, 2026
1c81460
Merge pull request #31035 from vujadinovic/patch-1
rcomer Jan 26, 2026
83c3cbc
Merge pull request #31030 from rcomer/credits
timhoffm Jan 26, 2026
9957c39
Add type hint for fig_kw in subplots (#31033)
sanrishi Jan 27, 2026
d81ca52
Update contour.py
sanrishi Jan 27, 2026
397629e
Update contour.py
sanrishi Jan 27, 2026
787c773
Update contour.py
sanrishi Jan 27, 2026
3797656
chore: trigger CI rebuild after fork sync
MysteriousCode786 Jan 27, 2026
b208e7f
fix for sphinx_gallery < 0.16.0
trygvrad Jan 27, 2026
cc1d9b6
Merge pull request #31044 from trygvrad/fix-for-sphinx_gallery-0.16.0
QuLogic Jan 27, 2026
8ea8f69
widgets: test _Buttons' callbacks
doronbehar Jan 28, 2026
f701624
RadioButtons: fix self._clicked method (followup to #30997)
doronbehar Jan 24, 2026
0e62724
Fix wording
timhoffm Jan 29, 2026
10ee372
Merge pull request #31013 from MysteriousCode786/fix-contour-docs-final
timhoffm Jan 29, 2026
e046a98
Merge pull request #31031 from doronbehar/_Buttons-fixup
QuLogic Jan 30, 2026
1cd6255
DOC: Clarify contour levels parameter as boundaries to fix ambiguity
sanrishi Feb 1, 2026
d528659
Update contour.py
sanrishi Feb 1, 2026
80fc2de
Update contour.py
sanrishi Feb 1, 2026
5ff02f0
Update lib/matplotlib/contour.py
sanrishi Feb 2, 2026
51fbfc4
Merge pull request #31016 from sanrishi/fix-contour-levels-doc
timhoffm Feb 2, 2026
6435fbf
DOC: Clarify Artist.set() behavior
timhoffm Feb 2, 2026
be57aac
MNT: Discourage Artist.update (#30978)
sanrishi Feb 2, 2026
01fdf1b
Add tests for invalid properties and duplicate aliases in Artist.set …
aditya-singh597 Feb 2, 2026
42e142d
Merge pull request #31057 from timhoffm/doc-set
rcomer Feb 2, 2026
2df0492
TST: add basic test for set (#31058)
rcomer Feb 2, 2026
2eeaa51
Refactor bezier poly coefficient calcs for speedup
scottshambaugh Jan 20, 2026
e3776e9
DOC: Generate rcParams docs directly during build (#31028)
QuLogic Feb 2, 2026
87ac5e9
MNT: Remove unused eventson context from artist property update
timhoffm Feb 2, 2026
9510762
Rework imports
scottshambaugh Feb 3, 2026
4e76477
PERF: Skip kwargs normalization in Artist._cm_set (#31000)
scottshambaugh Feb 3, 2026
9a41623
Merge pull request #31059 from scottshambaugh/bezier_coeffs
QuLogic Feb 3, 2026
f08ba30
Merge pull request #31060 from timhoffm/mnt-eventson
QuLogic Feb 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ on_finish:
- codecov -e PYTHON_VERSION PLATFORM -n "%PYTHON_VERSION% Windows"

on_failure:
# Generate a html for visual tests
# Generate an html for visual tests
- python tools/visualize_tests.py --no-browser
- echo zipping images after a failure...
- 7z a result_images.zip result_images\ | grep -v "Compressing"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
persist-credentials: false

- name: Initialize CodeQL
uses: github/codeql-action/init@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
uses: github/codeql-action/init@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10
with:
languages: ${{ matrix.language }}

Expand All @@ -43,4 +43,4 @@ jobs:
pip install --user -v .

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
uses: github/codeql-action/analyze@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10
6 changes: 3 additions & 3 deletions .github/workflows/cygwin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,21 +140,21 @@ jobs:
# FreeType build fails with bash, succeeds with dash

- name: Cache pip
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2
with:
path: C:\cygwin\home\runneradmin\.cache\pip
key: Cygwin-py3.${{ matrix.python-minor-version }}-pip-${{ hashFiles('requirements/*/*.txt') }}
restore-keys: ${{ matrix.os }}-py3.${{ matrix.python-minor-version }}-pip-

- name: Cache ccache
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2
with:
path: C:\cygwin\home\runneradmin\.ccache
key: Cygwin-py3.${{ matrix.python-minor-version }}-ccache-${{ hashFiles('src/*') }}
restore-keys: Cygwin-py3.${{ matrix.python-minor-version }}-ccache-

- name: Cache Matplotlib
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2
with:
path: |
C:\cygwin\home\runneradmin\.cache\matplotlib
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -184,31 +184,31 @@ jobs:
esac

- name: Cache pip
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2
if: startsWith(runner.os, 'Linux')
with:
path: ~/.cache/pip
key: ${{ matrix.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('requirements/*/*.txt') }}
restore-keys: |
${{ matrix.os }}-py${{ matrix.python-version }}-pip-
- name: Cache pip
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2
if: startsWith(runner.os, 'macOS')
with:
path: ~/Library/Caches/pip
key: ${{ matrix.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('requirements/*/*.txt') }}
restore-keys: |
${{ matrix.os }}-py${{ matrix.python-version }}-pip-
- name: Cache ccache
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2
with:
path: |
~/.ccache
key: ${{ matrix.os }}-py${{ matrix.python-version }}-ccache-${{ hashFiles('src/*') }}
restore-keys: |
${{ matrix.os }}-py${{ matrix.python-version }}-ccache-
- name: Cache Matplotlib
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2
with:
path: |
~/.cache/matplotlib
Expand Down
39 changes: 39 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ Alon Hershenhorn <hershen@gmail.com>

Alvaro Sanchez <sanchezgnzlz.alvaro@gmail.com>

Andreas C Mueller <andreasmuellerml@gmail.com> Andreas Mueller <t3kcit@gmail.com>

Andrew Dawson <ajdawson@acm.org> <dawson@atm.ox.ac.uk>

anykraus <kraus@mpip-mainz.mpg.de> <anykraus@users.noreply.github.com>
Expand All @@ -32,6 +34,8 @@ Carsten Schelp <carstenschelp@mp.nl>

Casper van der Wel <caspervdw@gmail.com>

CharlesHe16 <c@harl.es>

Chris Holdgraf <choldgraf@gmail.com>

Cho Yin Yong <choyiny@users.noreply.github.com>
Expand All @@ -57,6 +61,8 @@ David Kua <david@kua.io> <david.kua@mail.utoronto.ca>

Devashish Deshpande <ashu.9412@gmail.com>

Diego Leal Petrola <diegopetrola@gmail.com>

Dietmar Schwertberger <github@schwertberger.de>

Dora Fraeman Caswell <dorafraeman@gmail.com>
Expand Down Expand Up @@ -84,16 +90,26 @@ Hajoon Choi <hajoon.choi@mail.utoronto.ca>

hannah <story645@gmail.com>

Hannes Breytenbach <hannes@saao.ac.za>

Hans Moritz Günther <moritz.guenther@gmx.de>

Harshal Prakash Patankar <pharshalp@gmail.com>

Harshit Patni <patniharshit@gmail.com>

Harutaka Kawamura <hkawamura0130@gmail.com>

Hood Chatham <roberthoodchatham@gmail.com> Hood <hood@mit.edu>

Ian Hunt-Isaak <ianhuntisaak@gmail.com>

ImportanceOfBeingErnest <elch.rz@ruetz-online.de>

J. Goutin <JGoutin@users.noreply.github.com> JGoutin <ginnungagap@free.fr>

Jakub Klus <48711526+deep-jkl@users.noreply.github.com>

Jack Kelly <jack.kelly@imperial.ac.uk> <daniel.kelly10@imperial.ac.uk>
Jack Kelly <jack.kelly@imperial.ac.uk> <jack-list@xlk.org.uk>

Expand All @@ -105,19 +121,27 @@ Jake Vanderplas <jakevdp@gmail.com> <vanderplas@astro.washington.edu>

James R. Evans <jrevans1@earthlink.net>

Jan-Hendrik Müller <44469195+kolibril13@users.noreply.github.com>

Jeff Lutgen <jlutgen@gmail.com> <jlutgen@users.noreply.github.com>

Jeffrey Bingham <bingjeff@gmail.com>

Jens Hedegaard Nielsen <jenshnielsen@gmail.com>
Jens Hedegaard Nielsen <jenshnielsen@gmail.com> <jens.nielsen@ucl.ac.uk>

Jerome F. Villegas <jeromefvillegas@gmail.com>

Joel Frederico <458871+joelfrederico@users.noreply.github.com>

Johan von Forstner <johan.forstner@gmail.com>

John Hunter <jdh2358@gmail.com>

Jorrit Wronski <jowr@mek.dtu.dk>

Jose Manuel Martí <jse.mnl@gmail.com>

Joseph Fox-Rabinovitz <jfoxrabinovitz@gmail.com> Mad Physicist <madphysicist@users.noreply.github.com>
Joseph Fox-Rabinovitz <jfoxrabinovitz@gmail.com> Joseph Fox-Rabinovitz <joseph.r.fox-rabinovitz@nasa.gov>

Expand Down Expand Up @@ -149,11 +173,15 @@ Leon Yin <hello.leonyin@gmail.com>

Lion Krischer <lion.krischer@gmail.com> <krischer@geophysik.uni-muenchen.de>

luz paz <luzpaz@users.noreply.github.com>

Manan Kevadiya <kevadiyamanan@gmail.com>
Manan Kevadiya <kevadiyamanan@gmail.com> <43081866+manan2501@users.noreply.github.com>

Manuel Nuno Melo <manuel.nuno.melo@gmail.com>

Marat Kopytjuk <kopytjuk@gmail.com>

Marco Gorelli <m.e.gorelli@gmail.com>
Marco Gorelli <m.e.gorelli@gmail.com> <33491632+MarcoGorelli@users.noreply.github.com>

Expand Down Expand Up @@ -215,19 +243,27 @@ Paul Ivanov <pivanov314@gmail.com> <pivanov5@bloomberg.net>

Per Parker <wisalam@live.com>

Péter Leéh <leeh123peter@gmail.com>

Peter Würtz <pwuertz@gmail.com>
Peter Würtz <pwuertz@gmail.com> <pwuertz@googlemail.com>

Phil Elson <pelson.pub@gmail.com>
Phil Elson <pelson.pub@gmail.com> <philipelson@hotmail.com>
Phil Elson <pelson.pub@gmail.com> <philipelson@gmail.com>

Philipp Nagel <phil.nagel@bolton-menk.com>

productivememberofsociety666 <productivememberofsociety666@sol.fr.am> none <none@example.net>

Rishikesh <rishikksh20@gmail.com>

Ruth Nainggolan <nainggolan.ruthg@gmail.com> Ruth G. N <32371319+ruthgn@users.noreply.github.com>

RyanPan <ryanbelt1993129@hotmail.com>

Richard Sheridan <richard.sheridan@gmail.com>

Samesh Lakhotia <samesh.lakhotia@gmail.com>
Samesh Lakhotia <43701530+sameshl@users.noreply.github.com> <samesh.lakhotia@gmail.com>'

Expand All @@ -236,6 +272,8 @@ Scott Lasley <selasley@me.com>
Sebastian Raschka <mail@sebastianraschka.com>
Sebastian Raschka <mail@sebastianraschka.com> <se.raschka@me.com>

ShawnChen1996 <shawnchen1996@outlook.com>

Sidharth Bansal <bansal.sidharth2996@gmail.com>
Sidharth Bansal <20972099+SidharthBansal@users.noreply.github.com> <bansal.sidharth2996@gmail.com>

Expand All @@ -257,6 +295,7 @@ Taras Kuzyo <kuzyo.taras@gmail.com>

Terence Honles <terence@honles.com>

Thomas A Caswell <tcaswell@gmail.com>
Thomas A Caswell <tcaswell@gmail.com> Thomas A Caswell <tcaswell@bnl.gov>
Thomas A Caswell <tcaswell@gmail.com> Thomas A Caswell <tcaswell@uchicago.edu>
Thomas A Caswell <tcaswell@gmail.com> Thomas A Caswell <“tcaswell@gmail.com”>
Expand Down
4 changes: 4 additions & 0 deletions doc/api/next_api_changes/deprecations/31023-AL.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
``cbook.normalize_kwargs`` only supports passing artists and artist classes as second argument
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Support for directly passing an alias mapping or None as second argument to
`.cbook.normalize_kwargs` has been deprecated.
1 change: 1 addition & 0 deletions doc/api/widgets_api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ Widget classes
Cursor
MultiCursor
Button
_Buttons
CheckButtons
RadioButtons
SliderBase
Expand Down
10 changes: 7 additions & 3 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,9 @@ def _parse_skip_subdirs_file():
'sphinxext.math_symbol_table',
'sphinxext.missing_references',
'sphinxext.mock_gui_toolkits',
'sphinxext.skip_deprecated',
'sphinxext.rcparams',
'sphinxext.redirect_from',
'sphinxext.skip_deprecated',
'sphinx_copybutton',
'sphinx_design',
'sphinx_tags',
Expand Down Expand Up @@ -194,14 +195,16 @@ def _check_dependencies():
gallery_order_sectionorder = 'sphinxext.gallery_order.sectionorder'
gallery_order_subsectionorder = 'sphinxext.gallery_order.subsectionorder'
clear_basic_units = 'sphinxext.util.clear_basic_units'
patch_header = 'sphinxext.util.patch_header'
matplotlib_reduced_latex_scraper = 'sphinxext.util.matplotlib_reduced_latex_scraper'
else:
# gallery_order.py from the sphinxext folder provides the classes that
# allow custom ordering of sections and subsections of the gallery
from sphinxext.gallery_order import (
sectionorder as gallery_order_sectionorder,
subsectionorder as gallery_order_subsectionorder)
from sphinxext.util import clear_basic_units, matplotlib_reduced_latex_scraper
from sphinxext.util import (clear_basic_units, matplotlib_reduced_latex_scraper,
patch_header)

if parse_version(sphinx_gallery.__version__) >= parse_version('0.17.0'):
sg_matplotlib_animations = (True, 'mp4')
Expand Down Expand Up @@ -305,7 +308,7 @@ def autodoc_process_bases(app, name, obj, options, bases):
'reference_url': {'matplotlib': None, 'mpl_toolkits': None},
'prefer_full_module': {r'mpl_toolkits\.'},
'remove_config_comments': True,
'reset_modules': ('matplotlib', clear_basic_units, 'sphinxext.util.patch_header'),
'reset_modules': ('matplotlib', clear_basic_units, patch_header),
'subsection_order': gallery_order_sectionorder,
'thumbnail_size': (320, 224),
'within_subsection_order': gallery_order_subsectionorder,
Expand Down Expand Up @@ -899,3 +902,4 @@ def setup(app):
if sphinx.version_info[:2] < (7, 1):
app.connect('html-page-context', add_html_cache_busting, priority=1000)
generate_ScalarMappable_docs()
app.config.autodoc_use_legacy_class_based = True
Loading
Loading