#156362 Report by node gh-actions covering 2340 tests from 61 modules resulted into 8 errors
Report
- ObsPy version
- 1.5.0.post0+25.g5ec924ba80
- GitHub Pull Request
- https://github.com/obspy/obspy/pull/3719
- Report file
- JSON document
- Total runtime
- 137.8 sec
- Report date/time
- April 25, 2026, 1:41 a.m.
System / Python
- Architecture
- 64bit
- Machine
- x86_64
- Node
- gh-actions
- Processor
- x86_64
- Python Compiler
- GCC 14.3.0
- Python Implementation
- CPython
- Python Version
- 3.14.4
- Release
- 6.17.0-1010-azure
- System
- Linux
- Version
- #10~24.04.1-Ubuntu SMP Fri Mar 6 22:00:57 UTC 2026
Dependencies
- cartopy
- 0.25.0
- decorator
- 5.2.1
- flake8
- ---
- geographiclib
- 2.1
- lxml
- 6.1.0
- matplotlib
- 3.10.9
- numpy
- 2.4.3
- obspy
- 1.5.0.post0+25.g5ec924ba80
- pyproj
- 3.7.2
- pytest
- 9.0.3
- pytest-json-report
- 1.5.0
- requests
- 2.33.1
- scipy
- 1.17.1
- setuptools
- 82.0.1
- shapefile
- ---
- sqlalchemy
- 2.0.49
Modules (61)
| Module | Errors / Failures | Tracebacks | ||||
|---|---|---|---|---|---|---|
| obspy.clients.earthworm | Not tested | - | - | - | - | - |
| obspy.clients.fdsn | - | 101 | 101 | - | 1.33s | - |
| obspy.clients.filesystem | - | 26 | 26 | - | 2.10s | - |
| obspy.clients.iris | Not tested | - | - | - | - | - |
| obspy.clients.neic | Not tested | - | - | - | - | - |
| obspy.clients.nrl | - | 16 | 16 | - | 0.61s | - |
| obspy.clients.seedlink | - | 2 | 2 | - | 0.00s | - |
| obspy.clients.syngine | Not tested | - | - | - | - | - |
| obspy.core | 8 | 701 | 700 | 1 | 24.26s | 1 2 3 4 5 6 7 8 |
| obspy.core.event | - | 18 | 18 | - | 0.15s | - |
| obspy.core.inventory | - | 24 | 24 | - | 0.87s | - |
| obspy.core.util | - | 23 | 20 | 3 | 0.11s | - |
| obspy.geodetics | - | 21 | 20 | 1 | 0.07s | - |
| obspy.imaging | - | 93 | 92 | 1 | 26.51s | - |
| obspy.io.ah | - | 11 | 11 | - | 0.06s | - |
| obspy.io.alsep | - | 16 | 16 | - | 0.44s | - |
| obspy.io.arclink | - | 5 | 5 | - | 0.62s | - |
| obspy.io.ascii | - | 30 | 28 | 2 | 0.10s | - |
| obspy.io.cmtsolution | - | 10 | 10 | - | 0.05s | - |
| obspy.io.cnv | - | 1 | 1 | - | 0.01s | - |
| obspy.io.css | - | 10 | 10 | - | 0.11s | - |
| obspy.io.csv | - | 17 | 17 | - | 0.77s | - |
| obspy.io.cybershake | - | 3 | 3 | - | 0.03s | - |
| obspy.io.dmx | - | 5 | 5 | - | 0.05s | - |
| obspy.io.focmec | - | 8 | 8 | - | 0.06s | - |
| obspy.io.gcf | - | 14 | 13 | 1 | 0.25s | - |
| obspy.io.gse2 | - | 55 | 55 | - | 0.29s | - |
| obspy.io.hypodd | - | 9 | 9 | - | 0.12s | - |
| obspy.io.iaspei | - | 9 | 9 | - | 0.39s | - |
| obspy.io.json | - | 4 | 4 | - | 0.02s | - |
| obspy.io.kinemetrics | - | 12 | 12 | - | 0.31s | - |
| obspy.io.kml | - | 3 | 3 | - | 0.09s | - |
| obspy.io.mseed | - | 128 | 128 | - | 1.24s | - |
| obspy.io.ndk | - | 20 | 20 | - | 0.23s | - |
| obspy.io.nied | - | 11 | 11 | - | 0.09s | - |
| obspy.io.nlloc | - | 16 | 16 | - | 0.54s | - |
| obspy.io.nordic | - | 61 | 59 | 2 | 2.27s | - |
| obspy.io.pdas | - | 3 | 3 | - | 0.02s | - |
| obspy.io.pde | - | 13 | 12 | 1 | 0.34s | - |
| obspy.io.quakeml | - | 38 | 37 | 1 | 0.15s | - |
| obspy.io.reftek | - | 21 | 21 | - | 0.12s | - |
| obspy.io.rg16 | - | 38 | 38 | - | 0.12s | - |
| obspy.io.sac | - | 101 | 101 | - | 0.53s | - |
| obspy.io.scardec | - | 5 | 5 | - | 0.07s | - |
| obspy.io.seg2 | - | 2 | 2 | - | 0.02s | - |
| obspy.io.segy | - | 56 | 56 | - | 0.30s | - |
| obspy.io.seisan | - | 8 | 7 | 1 | 0.05s | - |
| obspy.io.seiscomp | - | 51 | 51 | - | 0.99s | - |
| obspy.io.sh | - | 26 | 24 | 2 | 0.23s | - |
| obspy.io.shapefile | - | 7 | 7 | - | 0.23s | - |
| obspy.io.stationtxt | - | 11 | 11 | - | 0.12s | - |
| obspy.io.stationxml | - | 25 | 25 | - | 0.27s | - |
| obspy.io.wav | - | 8 | 7 | 1 | 0.05s | - |
| obspy.io.win | - | 5 | 5 | - | 0.15s | - |
| obspy.io.xseed | - | 84 | 84 | - | 3.46s | - |
| obspy.io.y | - | 5 | 4 | 1 | 0.02s | - |
| obspy.io.zmap | - | 15 | 15 | - | 0.13s | - |
| obspy.realtime | - | 22 | 22 | - | 0.20s | - |
| obspy.scripts | - | 2 | 2 | - | 0.02s | - |
| obspy.signal | - | 235 | 233 | 2 | 21.42s | - |
| obspy.taup | - | 76 | 76 | - | 31.41s | - |
| Summary | 8 | 2340 | 2320 | 20 | 137.79s | 8 |
Tracebacks (8)
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 353, in from_call result: TResult | None = func() ~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 245, in <lambda> lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call yield File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 179, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 1720, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 166, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/tests/test_event.py", line 118, in test_plot_farfield_without_quiver_with_maps ev.plot(kind=[['global'], ['ortho', 'beachball'], ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ['p_sphere', 's_sphere']], outfile=image_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/event/event.py", line 276, in plot plot_radiation_pattern( ~~~~~~~~~~~~~~~~~~~~~~^ mt, kind=kind, coordinate_system='RTP', fig=fig, show=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/imaging/source.py", line 196, in plot_radiation_pattern fig.canvas.draw() ~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw self.figure.draw(self.renderer) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 94, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3264, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/geoaxes.py", line 509, in draw return super().draw(renderer=renderer, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/axes/_base.py", line 3226, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.get_figure(root=True).suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/feature_artist.py", line 184, in draw geoms = self._feature.intersecting_geometries(extent) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 312, in intersecting_geometries return super().intersecting_geometries(extent) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 112, in intersecting_geometries return (geom for geom in self.geometries() if ~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 291, in geometries path = shapereader.natural_earth(resolution=self.scale, category=self.category, name=self.name) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 321, in natural_earth return ne_downloader.path(format_dict) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 205, in path result_path = self.acquire_resource(target_path, format_dict) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 374, in acquire_resource shapefile_online = self._urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 243, in _urlopen return urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 187, in urlopen return opener.open(url, data, timeout) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 493, in open response = meth(req, response) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 602, in http_response response = self.parent.error( 'http', request, response, code, msg, hdrs) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 531, in error return self._call_chain(*args) ~~~~~~~~~~~~~~~~^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 464, in _call_chain result = func(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 611, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 353, in from_call result: TResult | None = func() ~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 245, in <lambda> lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call yield File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 179, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 1720, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 166, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/tests/test_inventory.py", line 692, in test_location_plot_global inv.plot(method='cartopy', outfile=image_path) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/inventory/inventory.py", line 1024, in plot fig.savefig(outfile) ~~~~~~~~~~~^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3497, in savefig self.canvas.print_figure(fname, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2186, in print_figure result = print_method( filename, ...<3 lines>... bbox_inches_restore=_bbox_inches_restore, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2042, in <lambda> print_method = functools.wraps(meth)(lambda *args, **kwargs: meth( ~~~~^ *args, **{k: v for k, v in kwargs.items() if k not in skip})) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 481, in print_png self._print_pil(filename_or_obj, "png", pil_kwargs, metadata) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 429, in _print_pil FigureCanvasAgg.draw(self) ~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw self.figure.draw(self.renderer) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 94, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3264, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/geoaxes.py", line 509, in draw return super().draw(renderer=renderer, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/axes/_base.py", line 3226, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.get_figure(root=True).suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/feature_artist.py", line 184, in draw geoms = self._feature.intersecting_geometries(extent) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 312, in intersecting_geometries return super().intersecting_geometries(extent) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 112, in intersecting_geometries return (geom for geom in self.geometries() if ~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 291, in geometries path = shapereader.natural_earth(resolution=self.scale, category=self.category, name=self.name) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 321, in natural_earth return ne_downloader.path(format_dict) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 205, in path result_path = self.acquire_resource(target_path, format_dict) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 374, in acquire_resource shapefile_online = self._urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 243, in _urlopen return urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 187, in urlopen return opener.open(url, data, timeout) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 493, in open response = meth(req, response) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 602, in http_response response = self.parent.error( 'http', request, response, code, msg, hdrs) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 531, in error return self._call_chain(*args) ~~~~~~~~~~~~~~~~^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 464, in _call_chain result = func(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 611, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 353, in from_call result: TResult | None = func() ~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 245, in <lambda> lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call yield File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 179, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 1720, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 166, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/tests/test_inventory.py", line 700, in test_location_plot_ortho inv.plot(method='cartopy', projection='ortho', resolution='c', ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ continent_fill_color='0.3', marker='d', label=False, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ colormap='Set3', color_per_network=True, outfile=image_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/inventory/inventory.py", line 1024, in plot fig.savefig(outfile) ~~~~~~~~~~~^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3497, in savefig self.canvas.print_figure(fname, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2186, in print_figure result = print_method( filename, ...<3 lines>... bbox_inches_restore=_bbox_inches_restore, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2042, in <lambda> print_method = functools.wraps(meth)(lambda *args, **kwargs: meth( ~~~~^ *args, **{k: v for k, v in kwargs.items() if k not in skip})) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 481, in print_png self._print_pil(filename_or_obj, "png", pil_kwargs, metadata) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 429, in _print_pil FigureCanvasAgg.draw(self) ~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw self.figure.draw(self.renderer) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 94, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3264, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/geoaxes.py", line 509, in draw return super().draw(renderer=renderer, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/axes/_base.py", line 3226, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.get_figure(root=True).suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/feature_artist.py", line 184, in draw geoms = self._feature.intersecting_geometries(extent) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 312, in intersecting_geometries return super().intersecting_geometries(extent) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 112, in intersecting_geometries return (geom for geom in self.geometries() if ~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 291, in geometries path = shapereader.natural_earth(resolution=self.scale, category=self.category, name=self.name) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 321, in natural_earth return ne_downloader.path(format_dict) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 205, in path result_path = self.acquire_resource(target_path, format_dict) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 374, in acquire_resource shapefile_online = self._urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 243, in _urlopen return urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 187, in urlopen return opener.open(url, data, timeout) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 493, in open response = meth(req, response) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 602, in http_response response = self.parent.error( 'http', request, response, code, msg, hdrs) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 531, in error return self._call_chain(*args) ~~~~~~~~~~~~~~~~^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 464, in _call_chain result = func(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 611, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 353, in from_call result: TResult | None = func() ~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 245, in <lambda> lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call yield File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 179, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 1720, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 166, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/tests/test_inventory.py", line 710, in test_location_plot_local inv.plot(method='cartopy', projection='local', resolution='50m', ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ size=20**2, color_per_network={'GR': 'b', 'BW': 'green'}, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ outfile=image_path) ^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/inventory/inventory.py", line 1024, in plot fig.savefig(outfile) ~~~~~~~~~~~^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3497, in savefig self.canvas.print_figure(fname, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2186, in print_figure result = print_method( filename, ...<3 lines>... bbox_inches_restore=_bbox_inches_restore, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2042, in <lambda> print_method = functools.wraps(meth)(lambda *args, **kwargs: meth( ~~~~^ *args, **{k: v for k, v in kwargs.items() if k not in skip})) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 481, in print_png self._print_pil(filename_or_obj, "png", pil_kwargs, metadata) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 429, in _print_pil FigureCanvasAgg.draw(self) ~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw self.figure.draw(self.renderer) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 94, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3264, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/geoaxes.py", line 509, in draw return super().draw(renderer=renderer, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/axes/_base.py", line 3226, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.get_figure(root=True).suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/feature_artist.py", line 184, in draw geoms = self._feature.intersecting_geometries(extent) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 312, in intersecting_geometries return super().intersecting_geometries(extent) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 112, in intersecting_geometries return (geom for geom in self.geometries() if ~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 291, in geometries path = shapereader.natural_earth(resolution=self.scale, category=self.category, name=self.name) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 321, in natural_earth return ne_downloader.path(format_dict) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 205, in path result_path = self.acquire_resource(target_path, format_dict) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 374, in acquire_resource shapefile_online = self._urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 243, in _urlopen return urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 187, in urlopen return opener.open(url, data, timeout) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 493, in open response = meth(req, response) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 602, in http_response response = self.parent.error( 'http', request, response, code, msg, hdrs) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 531, in error return self._call_chain(*args) ~~~~~~~~~~~~~~~~^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 464, in _call_chain result = func(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 611, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 353, in from_call result: TResult | None = func() ~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 245, in <lambda> lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call yield File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 179, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 1720, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 166, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/tests/test_inventory.py", line 722, in test_combined_station_event_plot cat.plot(outfile=image_path, fig=fig) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/event/catalog.py", line 778, in plot fig.savefig(outfile) ~~~~~~~~~~~^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3497, in savefig self.canvas.print_figure(fname, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2186, in print_figure result = print_method( filename, ...<3 lines>... bbox_inches_restore=_bbox_inches_restore, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2042, in <lambda> print_method = functools.wraps(meth)(lambda *args, **kwargs: meth( ~~~~^ *args, **{k: v for k, v in kwargs.items() if k not in skip})) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 481, in print_png self._print_pil(filename_or_obj, "png", pil_kwargs, metadata) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 429, in _print_pil FigureCanvasAgg.draw(self) ~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw self.figure.draw(self.renderer) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 94, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3264, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/geoaxes.py", line 509, in draw return super().draw(renderer=renderer, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/axes/_base.py", line 3226, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.get_figure(root=True).suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/feature_artist.py", line 184, in draw geoms = self._feature.intersecting_geometries(extent) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 312, in intersecting_geometries return super().intersecting_geometries(extent) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 112, in intersecting_geometries return (geom for geom in self.geometries() if ~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 291, in geometries path = shapereader.natural_earth(resolution=self.scale, category=self.category, name=self.name) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 321, in natural_earth return ne_downloader.path(format_dict) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 205, in path result_path = self.acquire_resource(target_path, format_dict) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 374, in acquire_resource shapefile_online = self._urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 243, in _urlopen return urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 187, in urlopen return opener.open(url, data, timeout) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 493, in open response = meth(req, response) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 602, in http_response response = self.parent.error( 'http', request, response, code, msg, hdrs) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 531, in error return self._call_chain(*args) ~~~~~~~~~~~~~~~~^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 464, in _call_chain result = func(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 611, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 353, in from_call result: TResult | None = func() ~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 245, in <lambda> lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call yield File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 179, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 1720, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 166, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/tests/test_network.py", line 324, in test_location_plot_global net.plot(method='cartopy', outfile=image_path) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/inventory/network.py", line 634, in plot fig.savefig(outfile) ~~~~~~~~~~~^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3497, in savefig self.canvas.print_figure(fname, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2186, in print_figure result = print_method( filename, ...<3 lines>... bbox_inches_restore=_bbox_inches_restore, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2042, in <lambda> print_method = functools.wraps(meth)(lambda *args, **kwargs: meth( ~~~~^ *args, **{k: v for k, v in kwargs.items() if k not in skip})) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 481, in print_png self._print_pil(filename_or_obj, "png", pil_kwargs, metadata) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 429, in _print_pil FigureCanvasAgg.draw(self) ~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw self.figure.draw(self.renderer) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 94, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3264, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/geoaxes.py", line 509, in draw return super().draw(renderer=renderer, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/axes/_base.py", line 3226, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.get_figure(root=True).suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/feature_artist.py", line 184, in draw geoms = self._feature.intersecting_geometries(extent) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 312, in intersecting_geometries return super().intersecting_geometries(extent) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 112, in intersecting_geometries return (geom for geom in self.geometries() if ~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 291, in geometries path = shapereader.natural_earth(resolution=self.scale, category=self.category, name=self.name) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 321, in natural_earth return ne_downloader.path(format_dict) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 205, in path result_path = self.acquire_resource(target_path, format_dict) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 374, in acquire_resource shapefile_online = self._urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 243, in _urlopen return urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 187, in urlopen return opener.open(url, data, timeout) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 493, in open response = meth(req, response) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 602, in http_response response = self.parent.error( 'http', request, response, code, msg, hdrs) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 531, in error return self._call_chain(*args) ~~~~~~~~~~~~~~~~^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 464, in _call_chain result = func(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 611, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 353, in from_call result: TResult | None = func() ~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 245, in <lambda> lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call yield File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 179, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 1720, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 166, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/tests/test_network.py", line 332, in test_location_plot_ortho net.plot(method='cartopy', projection='ortho', resolution='c', ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ continent_fill_color='0.5', marker='d', ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ color='yellow', label=False, outfile=image_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/inventory/network.py", line 634, in plot fig.savefig(outfile) ~~~~~~~~~~~^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3497, in savefig self.canvas.print_figure(fname, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2186, in print_figure result = print_method( filename, ...<3 lines>... bbox_inches_restore=_bbox_inches_restore, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2042, in <lambda> print_method = functools.wraps(meth)(lambda *args, **kwargs: meth( ~~~~^ *args, **{k: v for k, v in kwargs.items() if k not in skip})) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 481, in print_png self._print_pil(filename_or_obj, "png", pil_kwargs, metadata) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 429, in _print_pil FigureCanvasAgg.draw(self) ~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw self.figure.draw(self.renderer) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 94, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3264, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/geoaxes.py", line 509, in draw return super().draw(renderer=renderer, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/axes/_base.py", line 3226, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.get_figure(root=True).suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/feature_artist.py", line 184, in draw geoms = self._feature.intersecting_geometries(extent) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 312, in intersecting_geometries return super().intersecting_geometries(extent) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 112, in intersecting_geometries return (geom for geom in self.geometries() if ~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 291, in geometries path = shapereader.natural_earth(resolution=self.scale, category=self.category, name=self.name) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 321, in natural_earth return ne_downloader.path(format_dict) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 205, in path result_path = self.acquire_resource(target_path, format_dict) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 374, in acquire_resource shapefile_online = self._urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 243, in _urlopen return urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 187, in urlopen return opener.open(url, data, timeout) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 493, in open response = meth(req, response) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 602, in http_response response = self.parent.error( 'http', request, response, code, msg, hdrs) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 531, in error return self._call_chain(*args) ~~~~~~~~~~~~~~~~^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 464, in _call_chain result = func(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 611, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found
Traceback (most recent call last): File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 353, in from_call result: TResult | None = func() ~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 245, in <lambda> lambda: runtest_hook(item=item, **kwds), ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call yield File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/capture.py", line 900, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper return result.get_result() ~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result raise exc.with_traceback(tb) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper res = yield ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall teardown.throw(exception) ~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/skipping.py", line 268, in pytest_runtest_call return (yield) ^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 179, in pytest_runtest_call item.runtest() ~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 1720, in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall raise exception File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall res = hook_impl.function(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 166, in pytest_pyfunc_call result = testfunction(**testargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/tests/test_network.py", line 342, in test_location_plot_local net.plot(method='cartopy', projection='local', resolution='50m', ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ size=13**2, outfile=image_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/inventory/network.py", line 634, in plot fig.savefig(outfile) ~~~~~~~~~~~^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3497, in savefig self.canvas.print_figure(fname, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2186, in print_figure result = print_method( filename, ...<3 lines>... bbox_inches_restore=_bbox_inches_restore, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backend_bases.py", line 2042, in <lambda> print_method = functools.wraps(meth)(lambda *args, **kwargs: meth( ~~~~^ *args, **{k: v for k, v in kwargs.items() if k not in skip})) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 481, in print_png self._print_pil(filename_or_obj, "png", pil_kwargs, metadata) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 429, in _print_pil FigureCanvasAgg.draw(self) ~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw self.figure.draw(self.renderer) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 94, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/figure.py", line 3264, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/geoaxes.py", line 509, in draw return super().draw(renderer=renderer, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/axes/_base.py", line 3226, in draw mimage._draw_list_compositing_images( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ renderer, self, artists, self.get_figure(root=True).suppressComposite) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/image.py", line 134, in _draw_list_compositing_images a.draw(renderer) ~~~~~~^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper return draw(artist, renderer) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/mpl/feature_artist.py", line 184, in draw geoms = self._feature.intersecting_geometries(extent) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 312, in intersecting_geometries return super().intersecting_geometries(extent) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 112, in intersecting_geometries return (geom for geom in self.geometries() if ~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/feature/__init__.py", line 291, in geometries path = shapereader.natural_earth(resolution=self.scale, category=self.category, name=self.name) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 321, in natural_earth return ne_downloader.path(format_dict) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 205, in path result_path = self.acquire_resource(target_path, format_dict) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/shapereader.py", line 374, in acquire_resource shapefile_online = self._urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/cartopy/io/__init__.py", line 243, in _urlopen return urlopen(url) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 187, in urlopen return opener.open(url, data, timeout) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 493, in open response = meth(req, response) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 602, in http_response response = self.parent.error( 'http', request, response, code, msg, hdrs) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 531, in error return self._call_chain(*args) ~~~~~~~~~~~~~~~~^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 464, in _call_chain result = func(*args) File "/home/runner/miniconda3/envs/test/lib/python3.14/urllib/request.py", line 611, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found
Skipped tests (20)
| Submodule | Test | Skip message |
|---|---|---|
| core | core/stream.py::obspy.core.stream._is_pickle | Skipped: all tests skipped by +SKIP option |
| core.util | core/util/misc.py::obspy.core.util.misc.CatchOutput | Skipped: all tests skipped by +SKIP option |
| core.util | core/util/misc.py::obspy.core.util.misc.SuppressOutput | Skipped: all tests skipped by +SKIP option |
| core.util | core/util/misc.py::obspy.core.util.misc.TemporaryWorkingDirectory | Skipped: all tests skipped by +SKIP option |
| geodetics | geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_gps_2_dist_azimuth_bug150 | Skipped: Geographiclib installed, not using calc_vincenty_inverse |
| imaging | imaging/tests/test_mopad_script.py::TestMopad::test_script_plot | Skipped: Currently broken until further review. |
| io.ascii | io/ascii/core.py::obspy.io.ascii.core._is_slist | Skipped: all tests skipped by +SKIP option |
| io.ascii | io/ascii/core.py::obspy.io.ascii.core._is_tspair | Skipped: all tests skipped by +SKIP option |
| io.gcf | io/gcf/core.py::obspy.io.gcf.core._write_gcf | Skipped: all tests skipped by +SKIP option |
| io.nordic | io/nordic/utils.py::obspy.io.nordic.utils._evmagtonor | Skipped: all tests skipped by +SKIP option |
| io.nordic | io/nordic/utils.py::obspy.io.nordic.utils._nortoevmag | Skipped: all tests skipped by +SKIP option |
| io.pde | io/pde/mchedr.py::obspy.io.pde.mchedr._is_mchedr | Skipped: all tests skipped by +SKIP option |
| io.quakeml | io/quakeml/core.py::obspy.io.quakeml.core._is_quakeml | Skipped: all tests skipped by +SKIP option |
| io.seisan | io/seisan/core.py::obspy.io.seisan.core._is_seisan | Skipped: all tests skipped by +SKIP option |
| io.sh | io/sh/core.py::obspy.io.sh.core._is_asc | Skipped: all tests skipped by +SKIP option |
| io.sh | io/sh/core.py::obspy.io.sh.core._is_q | Skipped: all tests skipped by +SKIP option |
| io.wav | io/wav/core.py::obspy.io.wav.core._is_wav | Skipped: all tests skipped by +SKIP option |
| io.y | io/y/core.py::obspy.io.y.core._is_y | Skipped: all tests skipped by +SKIP option |
| signal | signal/quality_control.py::obspy.signal.quality_control.MSEEDMetadata | Skipped: all tests skipped by +SKIP option |
| signal | signal/tests/test_quality_control.py::TestQualityControl::test_schema_validation | Skipped: Test requires the jsonschema module |
Slowest tests (20)
Warnings (21)
| Stage | Filename | Category | Message |
|---|---|---|---|
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/copy.py:233 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cce16dd50> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/copy.py:233 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cce0904f0> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/copy.py:233 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3ccce093f0> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/copy.py:233 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cce1d7790> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/copy.py:110 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cccf2cf40> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py:347 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cccefb2e0> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/copy.py:110 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cce0933d0> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/copy.py:233 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cce092b60> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/copy.py:233 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cccf2d990> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py:347 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cccec31f0> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/copy.py:233 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cccf2f790> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/copy.py:233 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cce0924d0> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py:347 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3ccce66110> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/copy.py:233 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cce1d6f20> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py:347 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cccef95d0> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/copy.py:233 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3ccce0b790> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py:347 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cccef9d50> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py:347 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cccec1030> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py:347 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cccd6d030> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py:347 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cccec0400> |
| runtest | /home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/io/stationxml/core.py:359 | ResourceWarning | unclosed database in <sqlite3.Connection object at 0x7f3cccd6d8a0> |