Skip to content

Nightly build is failing #3933

@github-actions

Description

@github-actions

The Nightly workflow is failing.
The tests failed.
Log:

Details
============================= test session starts ==============================
platform linux -- Python 3.13.13, pytest-9.0.3, pluggy-1.6.0
Matplotlib: 3.11.0rc1
Freetype: 2.14.3
Dep Versions: Cartopy: 0.25.0, Dask: 2026.3.0, Matplotlib: 3.11.0rc1, Numpy: 2.4.4,
	Pandas: 3.0.2, Pint: 0.25.4.dev13+g4bf26dd15, Pooch: v1.9.0, Pyproj: 3.7.2,
	Scipy: 1.17.1, Shapely: 2.1.2, Traitlets: 5.14.3, Xarray: 2026.4.1.dev6+g757a7d42a
rootdir: /home/runner/work/MetPy/MetPy
configfile: pyproject.toml
plugins: mpl-0.19.0
collected 1632 items

tests/calc/test_basic.py ............................................... [ 2%]
........................................................................ [ 7%]
....................... [ 8%]
tests/calc/test_calc_tools.py .......................................... [ 11%]
........................................................................ [ 15%]
............................................... [ 18%]
tests/calc/test_cross_sections.py ...........FF [ 19%]
tests/calc/test_indices.py ............................ [ 21%]
tests/calc/test_kinematics.py .......................................... [ 23%]
........................................ [ 26%]
tests/calc/test_thermo.py .............................................. [ 28%]
........................................................................ [ 33%]
........................................................................ [ 37%]
..................................... [ 40%]
tests/calc/test_turbulence.py .............................. [ 41%]
tests/interpolate/test_geometry.py ............. [ 42%]
tests/interpolate/test_grid.py ...................................... [ 44%]
tests/interpolate/test_interpolate_tools.py ....... [ 45%]
tests/interpolate/test_one_dimension.py ................... [ 46%]
tests/interpolate/test_points.py ........................ [ 48%]
tests/interpolate/test_slices.py ........ [ 48%]
tests/io/test_gempak.py .................................. [ 50%]
tests/io/test_gini.py .................. [ 51%]
tests/io/test_metar.py ........................................ [ 54%]
tests/io/test_nexrad.py ................................................ [ 57%]
........................................................................ [ 61%]
....................................................... [ 64%]
tests/io/test_station_data.py ....... [ 65%]
tests/io/test_text.py .... [ 65%]
tests/io/test_tools.py .. [ 65%]
tests/plots/test_cartopy_utils.py ....... [ 66%]
tests/plots/test_ctables.py .......... [ 66%]
tests/plots/test_declarative.py F...F......F..FF............FF..FF..F... [ 69%]
.......FFFFF.FFF..FFFxFF.........FF.F...FF [ 71%]
tests/plots/test_mapping.py ........................ [ 73%]
tests/plots/test_patheffects.py ........ [ 73%]
tests/plots/test_plot_areas.py ..... [ 74%]
tests/plots/test_plot_text.py FF. [ 74%]
tests/plots/test_skewt.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 77%]
FFFFFFFFFFFF [ 77%]
tests/plots/test_station_plot.py FFFFFFF..FFFF.FFFFFFFFFFFF [ 79%]
tests/plots/test_util.py FFFFFFFFFFF... [ 80%]
tests/plots/test_wx_symbols.py .... [ 80%]
tests/remote/test_aws.py ........ [ 80%]
tests/test_cbook.py ... [ 81%]
tests/test_deprecation.py . [ 81%]
tests/test_packaging.py . [ 81%]
tests/test_testing.py ........ [ 81%]
tests/test_xarray.py .............................FF.................... [ 84%]
........................................................................ [ 89%]
........................................................................ [ 93%]
.............................FF................................ [ 97%]
tests/units/test_units.py ..FF.................................x.. [100%]

=================================== FAILURES ===================================
_______________________ test_absolute_momentum_given_xy ________________________

test_cross_xy = <xarray.Dataset> Size: 788B
Dimensions: (time: 1, isobaric: 5, index: 7)
Coordinates:

  • time ...[[...
    v_wind (time, isobaric, index) float64 280B Quantity(array([[...
    lambert_conformal <U1 4B ''

    def test_absolute_momentum_given_xy(test_cross_xy):
    """Test absolute momentum calculation."""
    momentum = absolute_momentum(test_cross_xy['u_wind'], test_cross_xy['v_wind'])
    true_momentum_values = np.array([[[169.22222693, 146.36354006, 145.75559124, 171.8710635,
    215.04876817, 265.73797007, 318.34138347],
    [156.27520858, 133.32107346, 132.62636169, 158.66828331,
    201.78218117, 252.41370282, 304.96242462],
    [143.32819023, 120.27860686, 119.49713214, 145.46550311,
    188.51559418, 239.08943557, 291.58346576],
    [130.38117188, 107.23614026, 106.36790259, 132.26272292,
    175.24900718, 225.76516831, 278.20450691],
    [117.43415353, 94.19367366, 93.23867305, 119.05994273,
    161.98242018, 212.44090106, 264.82554806]]])
    true_momentum = xr.DataArray(true_momentum_values * units('m/s'),
    coords=test_cross_xy['u_wind'].coords,
    dims=test_cross_xy['u_wind'].dims)

  assert_xarray_allclose(momentum, true_momentum)

tests/calc/test_cross_sections.py:323:


actual = <xarray.DataArray (time: 1, isobaric: 5, index: 7)> Size: 280B
Quantity(array([[[169.22221086, 146.36352646, 145.75557...rs object 8B Projection: lambert_conformal_conic
Attributes:
grid_mapping: lambert_conformal
_metpy_axis: x
desired = <xarray.DataArray (time: 1, isobaric: 5, index: 7)> Size: 280B
Quantity(array([[[169.22222693, 146.36354006, 145.75559...dex) float64 56B -1.5e+06 -1.269e+06 ... -2.677e+05 -939.1
metpy_crs object 8B Projection: lambert_conformal_conic

def assert_xarray_allclose(actual, desired):
    """Check that the xarrays are almost equal, including coordinates and attributes."""
    xr.testing.assert_allclose(actual, desired)
    assert desired.metpy.coordinates_identical(actual)
  assert desired.attrs == actual.attrs
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

E AssertionError

/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/testing.py:338: AssertionError
___________________ test_absolute_momentum_xarray_units_attr ___________________

def test_absolute_momentum_xarray_units_attr():
    """Test absolute momentum when `u` and `v` are DataArrays with a `units` attribute."""
    data = xr.open_dataset(get_test_data('narr_example.nc', False))
    data = data.metpy.parse_cf().squeeze()

    start = (37.0, -105.0)
    end = (35.5, -65.0)
    cross = cross_section(data, start, end)

    u = cross['u_wind'][0].sel(index=slice(0, 2))
    v = cross['v_wind'][0].sel(index=slice(0, 2))

    momentum = absolute_momentum(u, v)
    true_momentum_values = np.array([137.46164031, 134.11450232, 133.85196023])
    true_momentum = xr.DataArray(units.Quantity(true_momentum_values, 'm/s'),
                                 coords=u.coords)
  assert_xarray_allclose(momentum, true_momentum)

tests/calc/test_cross_sections.py:343:


actual = <xarray.DataArray (index: 3)> Size: 24B
Quantity(array([137.46164031, 134.11450232, 133.85196023]), "meter / second")
... grid_spacing: 32.463 km
_CoordinateAxisType: GeoX
_metpy_axis: x
desired = <xarray.DataArray (index: 3)> Size: 24B
Quantity(array([137.46164031, 134.11450232, 133.85196023]), "meter / second")
...ns] 8B 1987-04-04T18:00:00
isobaric float64 8B 1e+03
metpy_crs object 8B Projection: lambert_conformal_conic

def assert_xarray_allclose(actual, desired):
    """Check that the xarrays are almost equal, including coordinates and attributes."""
    xr.testing.assert_allclose(actual, desired)
    assert desired.metpy.coordinates_identical(actual)
  assert desired.attrs == actual.attrs
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

E AssertionError

/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/testing.py:338: AssertionError
____________________________ test_declarative_image ____________________________
Error: Image files did not match.
RMS Value: 0.40733636796469164
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_image/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_image/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_image/result-failed-diff.png
Tolerance:
0.0081
___________________________ test_declarative_titles ____________________________
Error: Image files did not match.
RMS Value: 11.646626702254464
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_titles/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_titles/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_titles/result-failed-diff.png
Tolerance:
0.094
_______________________ test_declarative_contour_options _______________________
Error: Image files did not match.
RMS Value: 25.92662523031745
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_options/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_options/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_options/result-failed-diff.png
Tolerance:
0.74
____________________ test_declarative_contour_convert_units ____________________
Error: Image files did not match.
RMS Value: 19.374960161249366
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_convert_units/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_convert_units/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_contour_convert_units/result-failed-diff.png
Tolerance:
1.91
___________________________ test_declarative_events ____________________________
Error: Image files did not match.
RMS Value: 3.3314109560865246
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_events/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_events/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_events/result-failed-diff.png
Tolerance:
0.246
_________________________________ test_global __________________________________
Error: Image files did not match.
RMS Value: 8.45017274642622
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_global/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_global/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_global/result-failed-diff.png
Tolerance:
0.0012
_________________________________ test_latlon __________________________________
Error: Image files did not match.
RMS Value: 1.1103621781502946
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_latlon/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_latlon/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_latlon/result-failed-diff.png
Tolerance:
0.019
__________________________ test_declarative_arrowkey ___________________________
Error: Image files did not match.
RMS Value: 2.8250637898402697
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrowkey/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrowkey/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrowkey/result-failed-diff.png
Tolerance:
0.37
________________________ test_declarative_arrow_changes ________________________
Error: Image files did not match.
RMS Value: 3.2611146483986118
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrow_changes/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrow_changes/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_arrow_changes/result-failed-diff.png
Tolerance:
0.37
________________________ test_declarative_gridded_scale ________________________
Error: Image files did not match.
RMS Value: 12.102280776779226
Expected:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_gridded_scale/baseline.png
Actual:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_gridded_scale/result.png
Difference:
/home/runner/work/MetPy/MetPy/test_output/test_declarative.test_declarative_gridded_scale/result-failed-diff.png
Tolerance:
0.0094
______________________ test_plotobs_units_with_formatter _______________________

args = ()
kwargs = {'ccrs': <module 'cartopy.crs' from '/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/crs....1.500000e+00
9937 CYOW 1993-03-12 16:00:00 -75.6692 ... 0 2.298133 1.928363e+00

[9938 rows x 29 columns]}

def wrapper(*args, **kwargs):
  store.return_value[test_name] = obj(*args, **kwargs)
                                    ^^^^^^^^^^^^^^^^^^^^

/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/pytest_mpl/plugin.py:126:


tests/plots/test_declarative.py:1353: in test_plotobs_units_with_formatter
pc.draw()
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/plots/declarative.py:187: in draw
with panel.hold_trait_notifications():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/contextlib.py:148: in exit
next(self.gen)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/traitlets/traitlets.py:1510: in hold_trait_notifications
self.notify_change(change)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/traitlets/traitlets.py:1525: in notify_change
return self._notify_observers(change)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/traitlets/traitlets.py:1568: in _notify_observers
c(event)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/plots/declarative.py:178: in refresh
self.figure.canvas.draw()
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backends/backend_agg.py:438: in draw
self.figure.draw(self.renderer)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:94: in draw_wrapper
result = draw(artist, renderer, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:71: in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/figure.py:3282: in draw
mimage._draw_list_compositing_images(
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/image.py:133: in _draw_list_compositing_images
a.draw(renderer)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:71: in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/mpl/geoaxes.py:509: in draw
return super().draw(renderer=renderer, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:71: in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/axes/_base.py:3318: in draw
mimage._draw_list_compositing_images(
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/image.py:133: in _draw_list_compositing_images
a.draw(renderer)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py:71: in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^


self = TextCollection
renderer = <matplotlib.backends.backend_agg.RendererAgg object at 0x7f97186c4bb0>

@allow_rasterization
def draw(self, renderer):
    """Draw the :class:`TextCollection` object to the given *renderer*."""
    if renderer is not None:
        self._renderer = renderer
    if not self.get_visible():
        return
    if not any(self.text):
        return

    renderer.open_group('text', self.get_gid())

    trans = self.get_transform()
    if self.offset != (0, 0):
        scale = self.axes.figure.dpi / 72
        xoff, yoff = self.offset
        trans += mtransforms.Affine2D().translate(scale * xoff,
                                                  scale * yoff)

    posx = self.convert_xunits(self.x)
    posy = self.convert_yunits(self.y)
    pts = np.vstack((posx, posy)).T
    pts = trans.transform(pts)
    _, canvash = renderer.get_canvas_width_height()

    gc = renderer.new_gc()
    gc.set_foreground(self.get_color())
    gc.set_alpha(self.get_alpha())
    gc.set_url(self._url)
    self._set_gc_clip(gc)

    angle = self.get_rotation()

    # cycle() makes text repeat to match the points given
    for (posx, posy), t in zip(pts, itertools.cycle(self.text)):
        # Skip empty strings--not only is this a performance gain, but it fixes
        # rendering with path effects below.
        if not t:
            continue

        self._text = t  # hack to allow self._get_layout to work
        _, info, _ = self._get_layout(renderer)
        self._text = ''
      for line, _, x, y in info:
            ^^^^^^^^^^^^^

E ValueError: not enough values to unpack (expected 4, got 3)

/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/plots/text.py:233: ValueError
___________________________ test_declarative_sfc_obs ___________________________

args = ()
kwargs = {'ccrs': <module 'cartopy.crs' from '/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/crs....1.500000e+00
9937 CYOW 1993-03-12 16:00:00 -75.6692 ... 0 2.298133 1.928363e+00

[9938 rows x 29 columns]}

def wrapper(*args, **kwargs):
  store.return_value[test_name] = obj(*args, **kwargs)
                          </pre></details>The documentation build failed.

Log:

python override_check.py
Override check successful.
�[01mRunning Sphinx v9.0.4�[39;49;00m
�[01mloading translations [en]... �[39;49;00mdone
�[01mmaking output directory... �[39;49;00mdone
Using Sphinx-Gallery to convert rst text blocks to markdown for .ipynb files.
Converting `source_suffix = ['.rst', '.md']` to `source_suffix = {'.rst': 'restructuredtext', '.md': 'restructuredtext'}`.
[autosummary] generating autosummary for: api/index.rst, api/references.rst, devel/CONTRIBUTING.md, devel/benchmarking.rst, devel/index.rst, devel/infrastructureguide.rst, devel/roadmap.rst, index.rst, userguide/SUPPORT.md, userguide/apichange.rst, userguide/citing.rst, userguide/gempak.rst, userguide/index.rst, userguide/installguide.rst, userguide/media.rst, userguide/startingguide.rst, userguide/upgradeguide.rst
[autosummary] generating autosummary for: /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.constants.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.interpolate.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.io.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.plots.ctables.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.plots.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.remote.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.units.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.xarray.rst
[autosummary] generating autosummary for: /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.absolute_momentum.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.absolute_vorticity.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.add_height_to_pressure.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.add_pressure_to_height.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.advection.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.ageostrophic_wind.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.altimeter_to_sea_level_pressure.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.altimeter_to_station_pressure.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.angle_to_direction.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.calc.apparent_temperature.rst, ..., /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.plots.read_colortable.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.plots.scattertext.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.plots.wx_code_to_numeric.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.remote.GOESArchive.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.remote.MLWPArchive.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.remote.NEXRADLevel2Archive.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.remote.NEXRADLevel3Archive.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.units.pandas_dataframe_to_unit_arrays.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.units.setup_registry.rst, /home/runner/work/MetPy/MetPy/docs/api/generated/metpy.xarray.grid_deltas_from_dataarray.rst
loading intersphinx inventory 'cartopy' from https://cartopy.readthedocs.io/stable/objects.inv ...
loading intersphinx inventory 'matplotlib' from https://matplotlib.org/stable/objects.inv ...
loading intersphinx inventory 'numpy' from https://numpy.org/doc/stable/objects.inv ...
loading intersphinx inventory 'pandas' from https://pandas.pydata.org/docs/objects.inv ...
loading intersphinx inventory 'pint' from https://pint.readthedocs.io/en/stable/objects.inv ...
loading intersphinx inventory 'pyproj' from https://pyproj4.github.io/pyproj/stable/objects.inv ...
loading intersphinx inventory 'python' from https://docs.python.org/3/objects.inv ...
loading intersphinx inventory 'scipy' from https://docs.scipy.org/doc/scipy/objects.inv ...
loading intersphinx inventory 'xarray' from https://docs.xarray.dev/en/stable/objects.inv ...
�[97mgenerating gallery...�[39;49;00m
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 12%] �[32mXArray_Projections.py�[39;49;00m
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_coastline.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_lakes.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_physical/ne_10m_rivers_lake_centerlines.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 25%] �[32msigma_to_pressure_interpolation.py�[39;49;00m
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_physical/ne_50m_coastline.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/10m_cultural/ne_10m_admin_1_states_provinces_lakes.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 38%] �[32mAdvanced_Sounding.py�[39;49;00m
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 50%] �[32mcross_section.py�[39;49;00m
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_cultural/ne_50m_admin_1_states_provinces_lakes.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 62%] �[32mFour_Panel_Map.py�[39;49;00m
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/__init__.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/50m_cultural/ne_50m_admin_0_boundary_lines_land.zip
  warnings.warn(f'Downloading: {url}', DownloadWarning)
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 75%] �[32misentropic_example.py�[39;49;00m
�[2K�[01mgenerating gallery for examples... �[39;49;00m[ 88%] �[32mmeteogram_metpy.py�[39;49;00m
�[2K�[01mgenerating gallery for examples... �[39;49;00m[100%] �[32mAdvanced_Sounding_With_Complex_Layout.py�[39;49;00m
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits.

�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 5%] �[32mParse_Angles.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 9%] �[32mDewpoint_and_Mixing_Ratio.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 14%] �[32mAngle_to_Direction.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 18%] �[32mWind_Speed.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 23%] �[32mDivergence.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 27%] �[32mVorticity.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 32%] �[32mAbsolute_Vorticity.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 36%] �[32mTotal_Deformation.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 41%] �[32mShearing_Deformation.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 45%] �[32mStretching_Deformation.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 50%] �[32mStatic_Stability.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 55%] �[32mMean_Pressure_Weighted.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 59%] �[32mMountain_Problem.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 64%] �[32mBulk_Shear.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 68%] �[32mThickness_Hydrostatic.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 73%] �[32mEquivalent_Potential_Temperature.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 77%] �[32mAdvection.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 82%] �[32mGradient.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 86%] �[32mQVector.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 91%] �[32mSmoothing.py�[39;49;00m
�[2K�[01mgenerating gallery for examples/calculations... �[39;49;00m[ 95%] �[32mHigh_Low_Analysis.py�[39;49;00m
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/init.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_ocean.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/init.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_land.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/io/init.py:242: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_coastline.zip
warnings.warn(f'Downloading: {url}', DownloadWarning)
�[91mWARNING:
�[01m�[91m../examples/calculations/High_Low_Analysis.py�[39;49;00m�[39;49;00m unexpectedly failed to execute correctly:

�[91m Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/sphinx_gallery/scrapers.py", line 417, in save_figures
rst = scraper(block, block_vars, gallery_conf)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/sphinx_gallery/scrapers.py", line 195, in matplotlib_scraper
fig.savefig(image_path, **these_kwargs)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/figure.py", line 3515, in savefig
self.canvas.print_figure(fname, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backend_bases.py", line 2281, in print_figure
result = print_method(
filename,
...<3 lines>...
bbox_inches_restore=_bbox_inches_restore,
**kwargs)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backend_bases.py", line 2138, in
print_method = functools.wraps(meth)(lambda *args, **kwargs: meth(
~~~~^
*args, **{k: v for k, v in kwargs.items() if k not in skip}))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backends/backend_agg.py", line 537, in print_png
self._print_pil(filename_or_obj, "png", pil_kwargs, metadata)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backends/backend_agg.py", line 485, in _print_pil
FigureCanvasAgg.draw(self)
~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/backends/backend_agg.py", line 438, in draw
self.figure.draw(self.renderer)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 94, in draw_wrapper
result = draw(artist, renderer, *args, **kwargs)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/figure.py", line 3282, in draw
mimage._draw_list_compositing_images(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
renderer, self, artists, self.suppressComposite)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/image.py", line 133, in _draw_list_compositing_images
a.draw(renderer)
~~~~~~^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/cartopy/mpl/geoaxes.py", line 509, in draw
return super().draw(renderer=renderer, **kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/axes/_base.py", line 3318, in draw
mimage._draw_list_compositing_images(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
renderer, self, artists, self.get_figure(root=True).suppressComposite)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/image.py", line 133, in _draw_list_compositing_images
a.draw(renderer)
~~~~~~^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/metpy/plots/text.py", line 233, in draw
for line, _, x, y in info:
^^^^^^^^^^^^^
ValueError: not enough values to unpack (expected 4, got 3)
�[39;49;00m�[39;49;00m

�[91mExtension error (sphinx_gallery.gen_gallery)!�[39;49;00m

Versions

  • Platform: linux; (Linux-6.17.0-1010-azure-x86_64-with-glibc2.39)
  • Python version: 3.13.13 (CPython)
  • Sphinx version: 9.0.4
  • Docutils version: 0.22.4
  • Jinja2 version: 3.1.6
  • Pygments version: 2.20.0

Last Messages

None.

Loaded Extensions

None.

Traceback

  File "/opt/hostedtoolcache/Python/3.13.13/x64/lib/python3.13/site-packages/sphinx/events.py", line 452, in emit
    raise ExtensionError(
    ...<3 lines>...
    ) from exc
sphinx.errors.ExtensionError: Handler <function generate_gallery_rst at 0x7fa50b438040> for event 'builder-inited' threw an exception (exception: not enough values to unpack (expected 4, got 3))

The full traceback has been saved in:
/tmp/sphinx-err-673zhvk3.log

To report this error to the developers, please open an issue at https://github.com/sphinx-doc/sphinx/issues/. Thanks!
Please also report this if it was a user error, so that a better error message can be provided next time.
make: *** [Makefile:34: html] Error 2


Linkchecker output:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: MaintenanceUpdates and clean ups (but not wrong)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions