#158766 Report by node gh-actions covering 2351 tests from 61 modules resulted into 2 errors

Report

ObsPy version
1.5.0.post0+106.g4bca7a5c44
GitHub Pull Request
https://github.com/obspy/obspy/pull/3769
Report file
JSON document
Total runtime
123.1 sec
Report date/time
July 15, 2026, 5:57 p.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.6
Release
6.17.0-1020-azure
System
Linux
Version
#20~24.04.1-Ubuntu SMP Fri Jun 19 20:09:14 UTC 2026

Dependencies

cartopy
0.25.0
decorator
5.3.1
flake8
---
geographiclib
2.1
lxml
6.1.1
matplotlib
3.11.0
numpy
2.5.1
obspy
1.5.0.post0+106.g4bca7a5c44
pyproj
3.7.2
pytest
9.1.1
pytest-json-report
1.5.0
requests
2.34.2
scipy
1.18.0
setuptools
83.0.0
shapefile
---
sqlalchemy
2.0.51

Modules (61)

Module Errors / Failures Tracebacks
obspy.clients.earthworm Not tested -
obspy.clients.fdsn 1 1
obspy.clients.filesystem - -
obspy.clients.iris - -
obspy.clients.neic Not tested -
obspy.clients.nrl - -
obspy.clients.seedlink - -
obspy.clients.syngine Not tested -
obspy.core 1 2
obspy.core.event - -
obspy.core.inventory - -
obspy.core.util - -
obspy.geodetics - -
obspy.imaging - -
obspy.io.ah - -
obspy.io.alsep - -
obspy.io.arclink - -
obspy.io.ascii - -
obspy.io.cmtsolution - -
obspy.io.cnv - -
obspy.io.css - -
obspy.io.csv - -
obspy.io.cybershake - -
obspy.io.dmx - -
obspy.io.focmec - -
obspy.io.gcf - -
obspy.io.gse2 - -
obspy.io.hypodd - -
obspy.io.iaspei - -
obspy.io.json - -
obspy.io.kinemetrics - -
obspy.io.kml - -
obspy.io.mseed - -
obspy.io.ndk - -
obspy.io.nied - -
obspy.io.nlloc - -
obspy.io.nordic - -
obspy.io.pdas - -
obspy.io.pde - -
obspy.io.quakeml - -
obspy.io.reftek - -
obspy.io.rg16 - -
obspy.io.sac - -
obspy.io.scardec - -
obspy.io.seg2 - -
obspy.io.segy - -
obspy.io.seisan - -
obspy.io.seiscomp - -
obspy.io.sh - -
obspy.io.shapefile - -
obspy.io.stationtxt - -
obspy.io.stationxml - -
obspy.io.wav - -
obspy.io.win - -
obspy.io.xseed - -
obspy.io.y - -
obspy.io.zmap - -
obspy.realtime - -
obspy.scripts - -
obspy.signal - -
obspy.taup - -
Summary 2 2

Tracebacks (2)

Traceback (most recent call last):
File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 361, in from_call
result: TResult | None = func()
~~~~^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 250, 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 865, 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 184, in pytest_runtest_call
item.runtest()
~~~~~~~~~~~~^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 1707, 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 167, in pytest_pyfunc_call
result = testfunction(**testargs)
File "/home/runner/miniconda3/envs/test/lib/python3.14/unittest/mock.py", line 1439, in patched
return func(*newargs, **newkeywargs)
File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/clients/fdsn/tests/test_client.py", line 2027, in test_no_gzip
client = Client(_discover_services=False, use_gzip=use_gzip)
File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/clients/fdsn/client.py", line 342, in __init__
warnings.warn(msg)
~~~~~~~~~~~~~^^^^^
UserWarning: Service discovery cannot be disabled when combining multiple datacenters in the base_url designation; discovery will be performed regardless.
Traceback (most recent call last):
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/resource_tracker.py", line 304, in _ensure_running_and_write
self._write(to_send)
~~~~~~~~~~~^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/resource_tracker.py", line 342, in _write
nbytes = os.write(self._fd, msg)
BrokenPipeError: [Errno 32] Broken pipe
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 361, in from_call
result: TResult | None = func()
~~~~^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/runner.py", line 250, 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 865, 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 184, in pytest_runtest_call
item.runtest()
~~~~~~~~~~~~^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/python.py", line 1707, 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 167, in pytest_pyfunc_call
result = testfunction(**testargs)
File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/core/tests/test_resource_identifier.py", line 502, in test_event_scoped_resource_id_many_threads
pool = multiprocessing.pool.ThreadPool()
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 930, in __init__
Pool.__init__(self, processes, initializer, initargs)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 196, in __init__
self._change_notifier = self._ctx.SimpleQueue()
~~~~~~~~~~~~~~~~~~~~~^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/context.py", line 113, in SimpleQueue
return SimpleQueue(ctx=self.get_context())
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/queues.py", line 361, in __init__
self._rlock = ctx.Lock()
~~~~~~~~^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/context.py", line 68, in Lock
return Lock(ctx=self.get_context())
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/synchronize.py", line 176, in __init__
SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/synchronize.py", line 79, in __init__
register(self._semlock.name, "semaphore")
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/resource_tracker.py", line 335, in register
self._send('REGISTER', name, rtype)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/resource_tracker.py", line 352, in _send
self._ensure_running_and_write(msg)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/resource_tracker.py", line 306, in _ensure_running_and_write
self._teardown_dead_process()
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/resource_tracker.py", line 233, in _teardown_dead_process
warnings.warn('resource_tracker: process died unexpectedly, '
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
'relaunching. Some resources might leak.')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UserWarning: resource_tracker: process died unexpectedly, relaunching. Some resources might leak.

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)

Runtime Test
4.391s core/tests/test_event.py::TestEvent::test_plot_farfield_without_quiver_with_maps
3.335s core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_local
2.606s io/xseed/tests/test_core.py::TestCore::test_response_calculation_from_seed_and_xseed
2.273s taup/tests/test_tau.py::TestTauPyModel::test_regional_models
2.222s core/stream.py::obspy.core.stream.read
2.166s taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_shoot_existing_ray_param
2.028s taup/__init__.py::obspy.taup
1.975s core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_global
1.965s signal/tests/test_calibration.py::TestCalibration::test_relcal_different_overlaps
1.404s signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_restricted_stacks
1.300s core/tests/test_trace.py::TestTrace::test_remove_response_plot
1.207s taup/tests/test_velocity_model.py::TestTauPyVelocityModel::test_read_velocity_model
1.190s signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_stream_template_and_correlation_detector
1.101s signal/tests/test_interpolation.py::TestInterpolation::test_plot_lanczos_window
1.059s taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_many_identically_named_phases
0.959s core/tests/test_network.py::TestNetworkCartopy::test_location_plot_global
0.947s taup/tests/test_tau.py::TestTauPyModel::test_vs_java_iasp91
0.938s imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_10_traces
0.864s taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_many_phases
0.809s signal/tests/test_invsim.py::TestInvSim::test_evalresp_file_like_object