René's URL Explorer Experiment


Title: [MNT]: Python 3.14.0a7 test failures · Issue #29959 · matplotlib/matplotlib · GitHub

Open Graph Title: [MNT]: Python 3.14.0a7 test failures · Issue #29959 · matplotlib/matplotlib

X Title: [MNT]: Python 3.14.0a7 test failures · Issue #29959 · matplotlib/matplotlib

Description: Summary I ran tox on the main branch of matplotlib with the fix from #29393 applied on top. I ran the same set of tests which we run during the Fedora matplotlib build, so invocation looked like this: tox -e py314 -- -k 'not test_invisib...

Open Graph Description: Summary I ran tox on the main branch of matplotlib with the fix from #29393 applied on top. I ran the same set of tests which we run during the Fedora matplotlib build, so invocation looked like th...

X Description: Summary I ran tox on the main branch of matplotlib with the fix from #29393 applied on top. I ran the same set of tests which we run during the Fedora matplotlib build, so invocation looked like th...

Opengraph URL: https://github.com/matplotlib/matplotlib/issues/29959

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[MNT]: Python 3.14.0a7 test failures","articleBody":"### Summary\n\nI ran tox on the main branch of matplotlib with the fix from https://github.com/matplotlib/matplotlib/pull/29393 applied on top. I ran the same set of tests which we run during the Fedora matplotlib build, so invocation looked like this:\n```\ntox -e py314 -- -k 'not test_invisible_Line_rendering and not test_form_widget_get_with_datetime_and_date_fields' --pyargs matplotlib mpl_toolkits.axes_grid1 mpl_toolkits.axisartist mpl_toolkits.mplot3d\n```\n\nAnd the results:\n\n```\n________________________________________________ test_hexbin_log[png] _________________________________________________\n\nargs = (), kwds = {'extension': 'png', 'request': \u003cFixtureRequest for \u003cFunction test_hexbin_log[png]\u003e\u003e}\n\n    @wraps(func)\n    def inner(*args, **kwds):\n        with self._recreate_cm():\n\u003e           return func(*args, **kwds)\nE           matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 35.934):\nE           \tresult_images/test_axes/hexbin_log.png\nE           \tresult_images/test_axes/hexbin_log-expected.png\nE           \tresult_images/test_axes/hexbin_log-failed-diff.png\n\n/usr/lib64/python3.14/contextlib.py:85: ImageComparisonFailure\n_______________________________________________ test_hexbin_linear[png] _______________________________________________\n\nargs = (), kwds = {'extension': 'png', 'request': \u003cFixtureRequest for \u003cFunction test_hexbin_linear[png]\u003e\u003e}\n\n    @wraps(func)\n    def inner(*args, **kwds):\n        with self._recreate_cm():\n\u003e           return func(*args, **kwds)\nE           matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 20.427):\nE           \tresult_images/test_axes/hexbin_linear.png\nE           \tresult_images/test_axes/hexbin_linear-expected.png\nE           \tresult_images/test_axes/hexbin_linear-failed-diff.png\n\n/usr/lib64/python3.14/contextlib.py:85: ImageComparisonFailure\n__________________________________________________ test_symlog2[pdf] __________________________________________________\n\nargs = (), kwds = {'extension': 'pdf', 'request': \u003cFixtureRequest for \u003cFunction test_symlog2[pdf]\u003e\u003e}\n\n    @wraps(func)\n    def inner(*args, **kwds):\n        with self._recreate_cm():\n\u003e           return func(*args, **kwds)\nE           matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 12.445):\nE           \tresult_images/test_axes/symlog2_pdf.png\nE           \tresult_images/test_axes/symlog2-expected_pdf.png\nE           \tresult_images/test_axes/symlog2_pdf-failed-diff.png\n\n/usr/lib64/python3.14/contextlib.py:85: ImageComparisonFailure\n_______________________________________ test_mollweide_forward_inverse_closure ________________________________________\n\n    def test_mollweide_forward_inverse_closure():\n        # test that the round-trip Mollweide forward-\u003einverse transformation is an\n        # approximate identity\n        fig = plt.figure()\n        ax = fig.add_subplot(projection='mollweide')\n    \n        # set up 1-degree grid in longitude, latitude\n        lon = np.linspace(-np.pi, np.pi, 360)\n        # The poles are degenerate and thus sensitive to floating point precision errors\n        lat = np.linspace(-np.pi / 2.0, np.pi / 2.0, 180)[1:-1]\n        lon, lat = np.meshgrid(lon, lat)\n        ll = np.vstack((lon.flatten(), lat.flatten())).T\n    \n        # perform forward transform\n\u003e       xy = ax.transProjection.transform(ll)\n\n/home/ksurma/dev/matplotlib/lib/matplotlib/tests/test_axes.py:5021: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n/home/ksurma/dev/matplotlib/lib/matplotlib/transforms.py:1523: in transform\n    res = self.transform_affine(self.transform_non_affine(values))\n/home/ksurma/dev/matplotlib/lib/matplotlib/projections/geo.py:372: in transform_non_affine\n    delta, large_delta = d(theta)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n\ntheta = array([ 3.22129331e+27,  3.22129331e+27,  3.22129331e+27, ...,\n       -3.22129331e+27, -3.22129331e+27, -3.22129331e+27], shape=(61200,))\n\n    def d(theta):\n\u003e       delta = (-(theta + np.sin(theta) - pi_sin_l)\n                 / (1 + np.cos(theta)))\nE       RuntimeWarning: overflow encountered in divide\n\n/home/ksurma/dev/matplotlib/lib/matplotlib/projections/geo.py:355: RuntimeWarning\n_______________________________________ test_mollweide_inverse_forward_closure ________________________________________\n\n    def test_mollweide_inverse_forward_closure():\n        # test that the round-trip Mollweide inverse-\u003eforward transformation is an\n        # approximate identity\n        fig = plt.figure()\n        ax = fig.add_subplot(projection='mollweide')\n    \n        # set up grid in x, y\n        x = np.linspace(0, 1, 500)\n        x, y = np.meshgrid(x, x)\n        xy = np.vstack((x.flatten(), y.flatten())).T\n    \n        # perform inverse transform\n        ll = ax.transProjection.inverted().transform(xy)\n    \n        # perform forward transform\n\u003e       xy2 = ax.transProjection.transform(ll)\n\n/home/ksurma/dev/matplotlib/lib/matplotlib/tests/test_axes.py:5045: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n/home/ksurma/dev/matplotlib/lib/matplotlib/transforms.py:1523: in transform\n    res = self.transform_affine(self.transform_non_affine(values))\n/home/ksurma/dev/matplotlib/lib/matplotlib/projections/geo.py:372: in transform_non_affine\n    delta, large_delta = d(theta)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\n\ntheta = array([ 0.        ,  0.        ,  0.        , ..., -3.14323857,\n       -3.14323857, -3.14323857], shape=(250000,))\n\n    def d(theta):\n\u003e       delta = (-(theta + np.sin(theta) - pi_sin_l)\n                 / (1 + np.cos(theta)))\nE       RuntimeWarning: divide by zero encountered in divide\n\n/home/ksurma/dev/matplotlib/lib/matplotlib/projections/geo.py:355: RuntimeWarning\n______________________________________________ test_specgram_angle[png] _______________________________________________\n\nargs = (), kwds = {'extension': 'png', 'request': \u003cFixtureRequest for \u003cFunction test_specgram_angle[png]\u003e\u003e}\n\n    @wraps(func)\n    def inner(*args, **kwds):\n        with self._recreate_cm():\n\u003e           return func(*args, **kwds)\nE           matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 23.460):\nE           \tresult_images/test_axes/specgram_phase_freqs.png\nE           \tresult_images/test_axes/specgram_phase_freqs-expected.png\nE           \tresult_images/test_axes/specgram_phase_freqs-failed-diff.png\n\n/usr/lib64/python3.14/contextlib.py:85: ImageComparisonFailure\n__________________________________________ test_proportional_colorbars[png] ___________________________________________\n\nargs = (), kwds = {'extension': 'png', 'request': \u003cFixtureRequest for \u003cFunction test_proportional_colorbars[png]\u003e\u003e}\n\n    @wraps(func)\n    def inner(*args, **kwds):\n        with self._recreate_cm():\n\u003e           return func(*args, **kwds)\nE           matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 47.976):\nE           \tresult_images/test_colorbar/proportional_colorbars.png\nE           \tresult_images/test_colorbar/proportional_colorbars-expected.png\nE           \tresult_images/test_colorbar/proportional_colorbars-failed-diff.png\n\n/usr/lib64/python3.14/contextlib.py:85: ImageComparisonFailure\n_______________________________________________ test_rgb_hsv_round_trip _______________________________________________\n\nx = array([0.5488135 , 0.71518937, 0.60276338, ..., 0.31486942, 0.95593047,\n       0.76646949], shape=(750000,))\ny = array([], dtype=float64)\n\n    def compare(x, y):\n        try:\n            if npany(isinf(x)) or npany(isinf(y)):\n                xinfid = isinf(x)\n                yinfid = isinf(y)\n                if not (xinfid == yinfid).all():\n                    return False\n                # if one item, x and y is +- inf\n                if x.size == y.size == 1:\n                    return x == y\n                x = x[~xinfid]\n                y = y[~yinfid]\n        except (TypeError, NotImplementedError):\n            pass\n    \n        # make sure y is an inexact type to avoid abs(MIN_INT); will cause\n        # casting of x later.\n        dtype = result_type(y, 1.)\n        y = np.asanyarray(y, dtype)\n\u003e       z = abs(x - y)\nE       ValueError: operands could not be broadcast together with shapes (750000,) (0,)\n\n/home/ksurma/dev/matplotlib/.tox/py314/lib64/python3.14/site-packages/numpy/testing/_private/utils.py:1165: ValueError\n\nDuring handling of the above exception, another exception occurred:\n\n    def test_rgb_hsv_round_trip():\n        for a_shape in [(500, 500, 3), (500, 3), (1, 3), (3,)]:\n            np.random.seed(0)\n            tt = np.random.random(a_shape)\n\u003e           assert_array_almost_equal(\n                tt, mcolors.hsv_to_rgb(mcolors.rgb_to_hsv(tt)))\nE           ValueError: \nE           error during assertion:\nE           \nE           Traceback (most recent call last):\nE             File \"/home/ksurma/dev/matplotlib/.tox/py314/lib64/python3.14/site-packages/numpy/testing/_private/utils.py\", line 851, in assert_array_compare\nE               val = comparison(x, y)\nE             File \"/home/ksurma/dev/matplotlib/.tox/py314/lib64/python3.14/site-packages/numpy/testing/_private/utils.py\", line 1165, in compare\nE               z = abs(x - y)\nE                       ~~^~~\nE           ValueError: operands could not be broadcast together with shapes (750000,) (0,) \nE           \nE           \nE           Arrays are not almost equal to 6 decimals\nE            ACTUAL: array([0.548814, 0.715189, 0.602763, ..., 0.314869, 0.95593 , 0.766469],\nE                 shape=(750000,))\nE            DESIRED: array([], dtype=float64)\n\n/home/ksurma/dev/matplotlib/lib/matplotlib/tests/test_colors.py:947: ValueError\n_________________________________________ test_light_source_topo_surface[png] _________________________________________\n\nargs = (), kwds = {'extension': 'png', 'request': \u003cFixtureRequest for \u003cFunction test_light_source_topo_surface[png]\u003e\u003e}\n\n    @wraps(func)\n    def inner(*args, **kwds):\n        with self._recreate_cm():\n\u003e           return func(*args, **kwds)\nE           matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 31.976):\nE           \tresult_images/test_colors/light_source_shading_topo.png\nE           \tresult_images/test_colors/light_source_shading_topo-expected.png\nE           \tresult_images/test_colors/light_source_shading_topo-failed-diff.png\n\n/usr/lib64/python3.14/contextlib.py:85: ImageComparisonFailure\n__________________________________________________ test_labels[png] ___________________________________________________\n\nargs = (), kwds = {'extension': 'png', 'request': \u003cFixtureRequest for \u003cFunction test_labels[png]\u003e\u003e}\n\n    @wraps(func)\n    def inner(*args, **kwds):\n        with self._recreate_cm():\n\u003e           return func(*args, **kwds)\nE           matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 30.608):\nE           \tresult_images/test_contour/contour_test_label_transforms.png\nE           \tresult_images/test_contour/contour_test_label_transforms-expected.png\nE           \tresult_images/test_contour/contour_test_label_transforms-failed-diff.png\n\n/usr/lib64/python3.14/contextlib.py:85: ImageComparisonFailure\n___________________________________________ test_mask_image_over_under[png] ___________________________________________\n\nargs = (), kwds = {'extension': 'png', 'request': \u003cFixtureRequest for \u003cFunction test_mask_image_over_under[png]\u003e\u003e}\n\n    @wraps(func)\n    def inner(*args, **kwds):\n        with self._recreate_cm():\n\u003e           return func(*args, **kwds)\nE           matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 41.585):\nE           \tresult_images/test_image/mask_image_over_under.png\nE           \tresult_images/test_image/mask_image_over_under-expected.png\nE           \tresult_images/test_image/mask_image_over_under-failed-diff.png\n\n/usr/lib64/python3.14/contextlib.py:85: ImageComparisonFailure\n______________________________________________ test_rgba_antialias[png] _______________________________________________\n\nargs = (), kwds = {'extension': 'png', 'request': \u003cFixtureRequest for \u003cFunction test_rgba_antialias[png]\u003e\u003e}\n\n    @wraps(func)\n    def inner(*args, **kwds):\n        with self._recreate_cm():\n\u003e           return func(*args, **kwds)\nE           matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 59.938):\nE           \tresult_images/test_image/rgba_antialias.png\nE           \tresult_images/test_image/rgba_antialias-expected.png\nE           \tresult_images/test_image/rgba_antialias-failed-diff.png\n\n/usr/lib64/python3.14/contextlib.py:85: ImageComparisonFailure\n_______________________________________________ test_downsampling[png] ________________________________________________\n\nargs = (), kwds = {'extension': 'png', 'request': \u003cFixtureRequest for \u003cFunction test_downsampling[png]\u003e\u003e}\n\n    @wraps(func)\n    def inner(*args, **kwds):\n        with self._recreate_cm():\n\u003e           return func(*args, **kwds)\nE           matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 71.138):\nE           \tresult_images/test_image/downsampling.png\nE           \tresult_images/test_image/downsampling-expected.png\nE           \tresult_images/test_image/downsampling-failed-diff.png\n\n/usr/lib64/python3.14/contextlib.py:85: ImageComparisonFailure\n_______________________________________________ test_quiver_memory_leak _______________________________________________\n\n    @pytest.mark.skipif(platform.python_implementation() != 'CPython',\n                        reason='Requires CPython')\n    def test_quiver_memory_leak():\n        fig, ax = plt.subplots()\n    \n        Q = draw_quiver(ax)\n        ttX = Q.X\n        Q.remove()\n    \n        del Q\n    \n\u003e       assert sys.getrefcount(ttX) == 2\nE       AssertionError\n\n/home/ksurma/dev/matplotlib/lib/matplotlib/tests/test_quiver.py:33: AssertionError\n_____________________________________________ test_quiver_key_memory_leak _____________________________________________\n\n    @pytest.mark.skipif(platform.python_implementation() != 'CPython',\n                        reason='Requires CPython')\n    def test_quiver_key_memory_leak():\n        fig, ax = plt.subplots()\n    \n        Q = draw_quiver(ax)\n    \n        qk = ax.quiverkey(Q, 0.5, 0.92, 2, r'$2 \\frac{m}{s}$',\n                          labelpos='W',\n                          fontproperties={'weight': 'bold'})\n\u003e       assert sys.getrefcount(qk) == 3\nE       AssertionError\n\n/home/ksurma/dev/matplotlib/lib/matplotlib/tests/test_quiver.py:46: AssertionError\n_________________________________________________ test_fft_peaks[png] _________________________________________________\n\n    @image_comparison(['fft_peaks'], remove_text=True)\n    def test_fft_peaks():\n        fig, ax = plt.subplots()\n        t = np.arange(65536)\n        p1 = ax.plot(abs(np.fft.fft(np.sin(2*np.pi*.01*t)*np.blackman(len(t)))))\n    \n        # Ensure that the path's transform takes the new axes limits into account.\n        fig.canvas.draw()\n        path = p1[0].get_path()\n        transform = p1[0].get_transform()\n        path = transform.transform_path(path)\n        simplified = path.cleaned(simplify=True)\n    \n\u003e       assert simplified.vertices.size == 36\nE       AssertionError\n\n/home/ksurma/dev/matplotlib/lib/matplotlib/tests/test_simplification.py:421: AssertionError\n_________________________________________________ test_fft_peaks[pdf] _________________________________________________\n\n    @image_comparison(['fft_peaks'], remove_text=True)\n    def test_fft_peaks():\n        fig, ax = plt.subplots()\n        t = np.arange(65536)\n        p1 = ax.plot(abs(np.fft.fft(np.sin(2*np.pi*.01*t)*np.blackman(len(t)))))\n    \n        # Ensure that the path's transform takes the new axes limits into account.\n        fig.canvas.draw()\n        path = p1[0].get_path()\n        transform = p1[0].get_transform()\n        path = transform.transform_path(path)\n        simplified = path.cleaned(simplify=True)\n    \n\u003e       assert simplified.vertices.size == 36\nE       AssertionError\n\n/home/ksurma/dev/matplotlib/lib/matplotlib/tests/test_simplification.py:421: AssertionError\n_________________________________________________ test_fft_peaks[svg] _________________________________________________\n\n    @image_comparison(['fft_peaks'], remove_text=True)\n    def test_fft_peaks():\n        fig, ax = plt.subplots()\n        t = np.arange(65536)\n        p1 = ax.plot(abs(np.fft.fft(np.sin(2*np.pi*.01*t)*np.blackman(len(t)))))\n    \n        # Ensure that the path's transform takes the new axes limits into account.\n        fig.canvas.draw()\n        path = p1[0].get_path()\n        transform = p1[0].get_transform()\n        path = transform.transform_path(path)\n        simplified = path.cleaned(simplify=True)\n    \n\u003e       assert simplified.vertices.size == 36\nE       AssertionError\n\n/home/ksurma/dev/matplotlib/lib/matplotlib/tests/test_simplification.py:421: AssertionError\n___________________________________________ test_tri_smooth_contouring[png] ___________________________________________\n\nargs = (), kwds = {'extension': 'png', 'request': \u003cFixtureRequest for \u003cFunction test_tri_smooth_contouring[png]\u003e\u003e}\n\n    @wraps(func)\n    def inner(*args, **kwds):\n        with self._recreate_cm():\n\u003e           return func(*args, **kwds)\nE           matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 123.603):\nE           \tresult_images/test_triangulation/tri_smooth_contouring.png\nE           \tresult_images/test_triangulation/tri_smooth_contouring-expected.png\nE           \tresult_images/test_triangulation/tri_smooth_contouring-failed-diff.png\n\n/usr/lib64/python3.14/contextlib.py:85: ImageComparisonFailure\n\nFAILED tests/test_axes.py::test_hexbin_log[png] - matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 35.934):\nFAILED tests/test_axes.py::test_hexbin_linear[png] - matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 20.427):\nFAILED tests/test_axes.py::test_symlog2[pdf] - matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 12.445):\nFAILED tests/test_axes.py::test_mollweide_forward_inverse_closure - RuntimeWarning: overflow encountered in divide\nFAILED tests/test_axes.py::test_mollweide_inverse_forward_closure - RuntimeWarning: divide by zero encountered in divide\nFAILED tests/test_axes.py::test_specgram_angle[png] - matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 23.460):\nFAILED tests/test_colorbar.py::test_proportional_colorbars[png] - matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 47.976):\nFAILED tests/test_colors.py::test_rgb_hsv_round_trip - ValueError: \nFAILED tests/test_colors.py::test_light_source_topo_surface[png] - matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 31.976):\nFAILED tests/test_contour.py::test_labels[png] - matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 30.608):\nFAILED tests/test_image.py::test_mask_image_over_under[png] - matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 41.585):\nFAILED tests/test_image.py::test_rgba_antialias[png] - matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 59.938):\nFAILED tests/test_image.py::test_downsampling[png] - matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 71.138):\nFAILED tests/test_quiver.py::test_quiver_memory_leak - AssertionError\nFAILED tests/test_quiver.py::test_quiver_key_memory_leak - AssertionError\nFAILED tests/test_simplification.py::test_fft_peaks[png] - AssertionError\nFAILED tests/test_simplification.py::test_fft_peaks[pdf] - AssertionError\nFAILED tests/test_simplification.py::test_fft_peaks[svg] - AssertionError\nFAILED tests/test_triangulation.py::test_tri_smooth_contouring[png] - matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 123.603):\n================= 19 failed, 9423 passed, 507 skipped, 2 deselected, 30 xfailed in 330.41s (0:05:30) ==================\n\n```\n\n### Proposed fix\n\n_No response_","author":{"url":"https://github.com/befeleme","@type":"Person","name":"befeleme"},"datePublished":"2025-04-22T13:51:01.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":5},"url":"https://github.com/29959/matplotlib/issues/29959"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:f28b8c94-3053-2d8f-0183-15ecd0939c47
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id9824:133662:959C68:CA8BE8:6A529121
html-safe-nonceb4f15d2ad7dd9f80a2a5d43795a2b0984aa36a16d96eb2f3b7a56925ff268ceb
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5ODI0OjEzMzY2Mjo5NTlDNjg6Q0E4QkU4OjZBNTI5MTIxIiwidmlzaXRvcl9pZCI6IjEzNjQwODU1MzIwMDM1Njk5NTMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac45cd54cd8ce8513cd3370d0cf990b8cefea8307b4128f1b930fc71219a005296
hovercard-subject-tagissue:3011164035
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/matplotlib/matplotlib/29959/issue_layout
twitter:imagehttps://opengraph.githubassets.com/e4bc6a265123571ee78f0ab731123515b1dac210ded639fed1ef00928223899b/matplotlib/matplotlib/issues/29959
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/e4bc6a265123571ee78f0ab731123515b1dac210ded639fed1ef00928223899b/matplotlib/matplotlib/issues/29959
og:image:altSummary I ran tox on the main branch of matplotlib with the fix from #29393 applied on top. I ran the same set of tests which we run during the Fedora matplotlib build, so invocation looked like th...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamebefeleme
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
turbo-cache-controlno-preview
go-importgithub.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git
octolytics-dimension-user_id215947
octolytics-dimension-user_loginmatplotlib
octolytics-dimension-repository_id1385122
octolytics-dimension-repository_nwomatplotlib/matplotlib
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1385122
octolytics-dimension-repository_network_root_nwomatplotlib/matplotlib
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release07a982c1d40157c619b364352b704c3ce66bb332
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/matplotlib/matplotlib/issues/29959#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fissues%2F29959
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fissues%2F29959
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=matplotlib%2Fmatplotlib
Reloadhttps://github.com/matplotlib/matplotlib/issues/29959
Reloadhttps://github.com/matplotlib/matplotlib/issues/29959
Reloadhttps://github.com/matplotlib/matplotlib/issues/29959
Please reload this pagehttps://github.com/matplotlib/matplotlib/issues/29959
matplotlib https://github.com/matplotlib
matplotlibhttps://github.com/matplotlib/matplotlib
Please reload this pagehttps://github.com/matplotlib/matplotlib/issues/29959
Notifications https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Fork 8.4k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Star 23k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Code https://github.com/matplotlib/matplotlib
Issues 1.1k https://github.com/matplotlib/matplotlib/issues
Pull requests 408 https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality 0 https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Code https://github.com/matplotlib/matplotlib
Issues https://github.com/matplotlib/matplotlib/issues
Pull requests https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
[MNT]: Python 3.14.0a7 test failureshttps://github.com/matplotlib/matplotlib/issues/29959#top
Maintenancehttps://github.com/matplotlib/matplotlib/issues?q=state%3Aopen%20label%3A%22Maintenance%22
v3.10.3https://github.com/matplotlib/matplotlib/milestone/101
https://github.com/befeleme
befelemehttps://github.com/befeleme
on Apr 22, 2025https://github.com/matplotlib/matplotlib/issues/29959#issue-3011164035
#29393https://github.com/matplotlib/matplotlib/pull/29393
Maintenancehttps://github.com/matplotlib/matplotlib/issues?q=state%3Aopen%20label%3A%22Maintenance%22
v3.10.3https://github.com/matplotlib/matplotlib/milestone/101
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.