8000 ci: Preload existing test images from text-overhaul-figures branch by QuLogic · Pull Request #30231 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content

ci: Preload existing test images from text-overhaul-figures branch #30231

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 82 commits into
base: text-overhaul
Choose a base branch
from

Conversation

QuLogic
Copy link
Member
@QuLogic QuLogic commented Jun 30, 2025

PR summary

This allows checking that there are no new failures, without committing the new figures to the repo until the branch is complete.

PR checklist

oscargus and others added 30 commits April 16, 2025 19:28
Having matplotlib.style be a package with the entire implementation in
matplotlib.style.core is a bit overkill, and also makes it slightly
awkward that USER_LIBRARY_PATHS is effectively a public API (clearly
intended as so, per the comment, even though we may do it differently
nowadays...) but only available in matplotlib.style.core, whereas
everything else is re-exported by matplotlib.style.

Prepare to flatten the implementation by deprecating
matplotlib.style.core and reexporting USER_LIBRARY_PATHS in
matplotlib.style.  Once the deprecation elapses, we'll be able to
move the implementation into a plain matplotlib/style.py module.
Instead of a fixed-size buffer, a dynamic buffer, and all the tracking
for them, just use a standard C++ container, which will clean up for
itself automatically.
Fixed incomplete deletion of all images that have passed tests before upload
Simplify RendererAgg::draw_markers buffers
Nested gridspecs are explained in
`galleries/examples/subplots_axes_and_figures/gridspec_nested.py`, and
layout is more generally explained in
`galleries/users_explain/axes/arranging_axes.py` and
`galleries/users_explain/axes/constrainedlayout_guide.py`

Closes matplotlib#25800
This type seems to cover the intent more clearly than `std::pair<bool,
...>`.
deques are exactly suited for the task at hand, and should be (here,
marginally) more efficient than repeatedly slicing off the start of the
list.

Also drop unneeded reference to old_frame_seq (the iterator already
keeps that data alive).
Fix argument types in examples and tests
…atplotlib#29481)

* Possible fix for issue matplotlib#13919

* fix flake warnings

* Resolve suggested changes

* Add new validators in stub file

* make stub file arguments same as runtime

* Add distinction for x and y axis in grid line options

* fix flake8

* Add What's New note

* Extend `_val_or_rc` to support multiply names
`_val_or_rc` now accept multiple rc names and return val or the first non-None value in rcParams. Returns last rc name if all other are None. Also, simplified code in `Tick` for grid lines creatation

* Fix linting for and _validate_linestyle_or_None to mypy allowlist

* Remove validate linestyle functions from stubtest allow list

* Revert change to just grid.major/minor distinction in rcParams

* Update What's New note and reduced example

* Add testing for `grid.major/minor.*` in rcParams

* fix indentation and linting

* Fix example description

* Fix spelling

* Fix type

* Fix formatting
Removed outer brackets

* `validate_color_or_None` private and fix argument names

* Fix validator name in stub file as well

* correct validators for grid.*.color keys

* Revert change in mypy-stubtest-allowlist.txt

---------

Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Use collections.deque to store animation cache data.
Prepare to turn matplotlib.style into a plain module.
- Use a simpler deterministic mapping of tex font names to pdf embedding
  names.
- Only resolve the required attributes when needed (in _embedTeXFont),
  which avoids e.g. having to carry around and worry about attributes
  with different names (e.g. "encoding" vs. "encodingfile").
Simplify dviFontInfo layout in backend pdf.
To deep copy an object without calling deepcopy on the object itself,
create a new object of the correct class and iterate calling deepcopy on
its __dict__.

Closes matplotlib#29157 without relying on private CPython methods.
Does not fix the other issue with TransformNode.__copy__.

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
without calling copy.copy
[Doc]: fix bug in release notes for matplotlib v3.5.0 and v3.7.0
The subgridspec to be considered should be the one containing both the
axes and the colorbar, not the sub-subgridspec of just the axes.
…etaclass

Implement Path.__deepcopy__ avoiding infinite recursion
This should only end up on the nightly wheel upload for now.

Also, re-enable testing in places where Pillow wheels were previously
missing, but are now available.
Closes matplotlib#29688

Objects without a parent are not necessarily cleaned up in `PyQt5/6`
when their reference count reaches zero, and must be explicitly cleaned
up with `deleteLater()`

This prevents the notifier firing after the signal handling was supposed
to have been reset to its previous state.

Rather than have both `bakend_bases._allow_interrupt()` and
`backend_qt._allow_interrupt_qt()` hold a reference to the notifier, we
pass it to  the backend-specific `handle_signint()` function for
cleanup.

Note the approach to cleaning up the notifier with `.deleteLater()`
followed by `sendPostedEvents()` is the documented workaround for when
immediate deletion is desired:

https://doc.qt.io/qt-6/qobject.html#deleteLater

This ensures the object is still deleted up even if the same event loop
does not run again.
* Adding a decorator and Refactoring functions

* Fixing Ruff Errors

* Update scale.pyi

* Adding new line to the end of scale.pyi

* Update in docstring

* Fixing Handle Function

* Support optional axis in scales

Updated my refactor based on the feedbacks received

* Fixing ruff error

* change in parameters and in decorator

* parameter fix

* minor change in pyi

* Update lib/matplotlib/scale.py

Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>

* Update lib/matplotlib/scale.py

Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>

* Update lib/matplotlib/scale.py

Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>

* Update lib/matplotlib/scale.pyi

Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>

* Updating self and axis in pyi

* returning scale_factory to default

* Ruff checks

* description fix

* Update lib/matplotlib/scale.pyi

Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>

* Undoing Unrelated Modifications

* fixing mypy tests

* Update lib/matplotlib/scale.pyi

Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>

* keyword-argument suggestion

Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>

* kwargs pop before function call

Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>

---------

Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
@github-actions github-actions bot added Documentation: examples files in galleries/examples Documentation: tutorials files in galleries/tutorials Documentation: devdocs files in doc/devel labels Jul 4, 2025
anntzer and others added 4 commits July 4, 2025 14:29
…ble-info

Time out in _get_executable_info
ruff uses `project.requires-python`, so the ruff-only `target-version`
is not needed.

Other exceptions can be dropped since they are all clear of warnings.
The removed excludes are covered by the first line. The Unpack feature
was enabled by default in 1.9, which is our minimum.
These examples only needed a single fix to remove the exception.
@QuLogic QuLogic force-pushed the preload-ci branch 2 times, most recently from 7fdd64a to 84250d1 Compare July 4, 2025 22:03
QuLogic and others added 11 commits July 4, 2025 18:12
This also has the side-effect of casting torch Tensors to NumPy arrays,
which fixes matplotlib#30216. Since `stem` is made up of `plot` and `[hv]lines`
whic already do this cast, this just moves it up one level which
prevents doing it twice.
Make the difference between the two methods clearer (only the latter
takes clipping into account).
Tweak docstrings of get_window_extent/get_tightbbox.
Fix figure legend when drawing stackplots
Don't expose private styles in style.available
@tacaswell
Copy link
Member

Did you mean to pull main along with this?

QuLogic added 4 commits July 7, 2025 16:55
This was originally for i686 on Fedora, but is now applicable to WASM,
which is 32-bit. The older implementation doesn't OOM.
Use old stride_windows implementation on 32-bit builds
This allows checking that there are no _new_ failures, without
committing the new figures to the repo until the branch is complete.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
0