#161775 Report by node gh-actions covering 2348 tests from 61 modules resulted into 4 errors
Report
- ObsPy version
- 1.5.1.post0+39.g000f53d64c
- GitHub Pull Request
- https://github.com/obspy/obspy/pull/3810
- Report file
- JSON document
- Total runtime
- 129.7 sec
- Report date/time
- Sept. 22, 2026, 9:45 a.m.
System / Python
- Architecture
- 64bit
- Machine
- x86_64
- Node
- gh-actions
- Processor
- x86_64
- Python Compiler
- GCC 15.3.0
- Python Implementation
- CPython
- Python Version
- 3.14.7
- Release
- 6.17.0-1022-azure
- System
- Linux
- Version
- #22-Ubuntu SMP Mon Jul 27 17:24:03 UTC 2026
Dependencies
- cartopy
- 0.26.0
- decorator
- 5.3.1
- flake8
- ---
- geographiclib
- 2.1
- lxml
- 6.1.3
- matplotlib
- 3.11.2
- numpy
- 2.5.3
- obspy
- 1.5.1.post0+39.g000f53d64c
- pyproj
- 3.8.0
- pytest
- 9.1.1
- pytest-json-report
- 1.5.0
- requests
- 2.34.2
- scipy
- 1.18.1
- setuptools
- 84.0.0
- shapefile
- ---
- sqlalchemy
- 2.0.54
Modules (61)
| Module | Errors / Failures | Tracebacks | ||||
|---|---|---|---|---|---|---|
| obspy.clients.earthworm | Not tested | - | - | - | - | - |
| obspy.clients.fdsn | 3 | 102 | 102 | - | 0.80s | 1 2 3 |
| obspy.clients.filesystem | 1 | 26 | 26 | - | 1.29s | 4 |
| obspy.clients.iris | Not tested | - | - | - | - | - |
| obspy.clients.neic | Not tested | - | - | - | - | - |
| obspy.clients.nrl | - | 16 | 16 | - | 0.57s | - |
| obspy.clients.seedlink | - | 2 | 2 | - | 0.00s | - |
| obspy.clients.syngine | Not tested | - | - | - | - | - |
| obspy.core | - | 702 | 701 | 1 | 28.10s | - |
| obspy.core.event | - | 18 | 18 | - | 0.16s | - |
| obspy.core.inventory | - | 24 | 24 | - | 0.95s | - |
| obspy.core.util | - | 23 | 20 | 3 | 0.11s | - |
| obspy.geodetics | - | 21 | 20 | 1 | 0.07s | - |
| obspy.imaging | - | 93 | 92 | 1 | 16.15s | - |
| obspy.io.ah | - | 11 | 11 | - | 0.06s | - |
| obspy.io.alsep | - | 16 | 16 | - | 0.57s | - |
| obspy.io.arclink | - | 5 | 5 | - | 0.88s | - |
| obspy.io.ascii | - | 30 | 28 | 2 | 0.11s | - |
| obspy.io.cmtsolution | - | 10 | 10 | - | 0.06s | - |
| obspy.io.cnv | - | 1 | 1 | - | 0.02s | - |
| obspy.io.css | - | 10 | 10 | - | 0.12s | - |
| obspy.io.csv | - | 17 | 17 | - | 0.29s | - |
| obspy.io.cybershake | - | 3 | 3 | - | 0.03s | - |
| obspy.io.dmx | - | 5 | 5 | - | 0.05s | - |
| obspy.io.focmec | - | 8 | 8 | - | 0.07s | - |
| obspy.io.gcf | - | 14 | 13 | 1 | 0.28s | - |
| obspy.io.gse2 | - | 55 | 55 | - | 0.32s | - |
| obspy.io.hypodd | - | 9 | 9 | - | 0.13s | - |
| obspy.io.iaspei | - | 9 | 9 | - | 0.61s | - |
| obspy.io.json | - | 4 | 4 | - | 0.02s | - |
| obspy.io.kinemetrics | - | 12 | 12 | - | 0.35s | - |
| obspy.io.kml | - | 3 | 3 | - | 0.09s | - |
| obspy.io.mseed | - | 129 | 129 | - | 1.26s | - |
| obspy.io.ndk | - | 20 | 20 | - | 0.24s | - |
| obspy.io.nied | - | 11 | 11 | - | 0.10s | - |
| obspy.io.nlloc | - | 16 | 16 | - | 0.61s | - |
| obspy.io.nordic | - | 61 | 59 | 2 | 1.01s | - |
| obspy.io.pdas | - | 3 | 3 | - | 0.02s | - |
| obspy.io.pde | - | 13 | 12 | 1 | 0.41s | - |
| obspy.io.quakeml | - | 38 | 37 | 1 | 0.17s | - |
| obspy.io.reftek | - | 21 | 21 | - | 0.12s | - |
| obspy.io.rg16 | - | 38 | 38 | - | 0.14s | - |
| obspy.io.sac | - | 101 | 101 | - | 0.55s | - |
| obspy.io.scardec | - | 5 | 5 | - | 0.08s | - |
| obspy.io.seg2 | - | 2 | 2 | - | 0.02s | - |
| obspy.io.segy | - | 56 | 56 | - | 0.31s | - |
| obspy.io.seisan | - | 8 | 7 | 1 | 0.06s | - |
| obspy.io.seiscomp | - | 51 | 51 | - | 1.03s | - |
| obspy.io.sh | - | 26 | 24 | 2 | 0.26s | - |
| obspy.io.shapefile | - | 7 | 7 | - | 0.26s | - |
| obspy.io.stationtxt | - | 11 | 11 | - | 0.12s | - |
| obspy.io.stationxml | - | 26 | 26 | - | 0.29s | - |
| obspy.io.wav | - | 8 | 7 | 1 | 0.06s | - |
| obspy.io.win | - | 5 | 5 | - | 0.14s | - |
| obspy.io.xseed | - | 84 | 84 | - | 3.83s | - |
| obspy.io.y | - | 5 | 4 | 1 | 0.02s | - |
| obspy.io.zmap | - | 15 | 15 | - | 0.15s | - |
| obspy.realtime | - | 22 | 22 | - | 0.21s | - |
| obspy.scripts | - | 2 | 2 | - | 0.02s | - |
| obspy.signal | - | 238 | 236 | 2 | 20.93s | - |
| obspy.taup | - | 77 | 77 | - | 28.91s | - |
| Summary | 4 | 2348 | 2328 | 20 | 129.70s | 4 |
Tracebacks (4)
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 1620, in test_download_urls_for_custom_mapping c = Client(base_url=base_url, service_mappings={ "event": base_url_event, "station": base_url_station, "dataselect": base_url_ds, }) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/clients/fdsn/client.py", line 306, in __init__ raise ValueError(msg) ValueError: For security reasons, when a json web token (JWT) is provided for authentication, only requests via https are allowed by default (requested URL: http://example.com) to prevent leaking credentials. For special scenarios where it might be needed and not problematic (internal networks, VPNs, ..) you can use `Client(..., jwt_allow_http=True)` to manually disable this security check.
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_mass_downloader.py", line 2559, in test_initialization_detailed d = MassDownloader() File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/clients/fdsn/mass_downloader/mass_downloader.py", line 116, in __init__ self._initialize_clients() ~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/clients/fdsn/mass_downloader/mass_downloader.py", line 330, in _initialize_clients clients = p.map(_get_client, self.providers) File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 367, in map return self._map_async(func, iterable, mapstar, chunksize).get() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 774, in get raise self._value File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 125, in worker result = (True, func(*args, **kwds)) ~~~~^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 48, in mapstar return list(map(*args)) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/clients/fdsn/mass_downloader/mass_downloader.py", line 305, in _get_client this_client = Client(client_name, debug=self.debug) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/clients/fdsn/client.py", line 306, in __init__ raise ValueError(msg) ValueError: For security reasons, when a json web token (JWT) is provided for authentication, only requests via https are allowed by default (requested URL: http://eida-federator.ethz.ch) to prevent leaking credentials. For special scenarios where it might be needed and not problematic (internal networks, VPNs, ..) you can use `Client(..., jwt_allow_http=True)` to manually disable this security check.
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_mass_downloader.py", line 2636, in test_download_method d = MassDownloader() File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/clients/fdsn/mass_downloader/mass_downloader.py", line 116, in __init__ self._initialize_clients() ~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/clients/fdsn/mass_downloader/mass_downloader.py", line 330, in _initialize_clients clients = p.map(_get_client, self.providers) File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 367, in map return self._map_async(func, iterable, mapstar, chunksize).get() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 774, in get raise self._value File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 125, in worker result = (True, func(*args, **kwds)) ~~~~^^^^^^^^^^^^^^^ File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 48, in mapstar return list(map(*args)) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/clients/fdsn/mass_downloader/mass_downloader.py", line 305, in _get_client this_client = Client(client_name, debug=self.debug) File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/obspy/clients/fdsn/client.py", line 306, in __init__ raise ValueError(msg) ValueError: For security reasons, when a json web token (JWT) is provided for authentication, only requests via https are allowed by default (requested URL: http://eida-federator.ethz.ch) to prevent leaking credentials. For special scenarios where it might be needed and not problematic (internal networks, VPNs, ..) you can use `Client(..., jwt_allow_http=True)` to manually disable this security check.
+ Exception Group 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/unraisableexception.py", line 183, in pytest_runtest_call
| collect_unraisable(item.config)
| ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 81, in collect_unraisable
| raise ExceptionGroup("multiple unraisable exception warnings", errors)
| ExceptionGroup: multiple unraisable exception warnings (2 sub-exceptions)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 268, in __del__
| _warn(f"unclosed running multiprocessing pool {self!r}",
| ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ResourceWarning, source=self)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ResourceWarning: unclosed running multiprocessing pool <multiprocessing.pool.ThreadPool state=RUN pool_size=34>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function Pool.__del__ at 0x7f51e4297e20>: None
|
+---------------- 2 ----------------
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/multiprocessing/pool.py", line 268, in __del__
| _warn(f"unclosed running multiprocessing pool {self!r}",
| ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ResourceWarning, source=self)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ResourceWarning: unclosed running multiprocessing pool <multiprocessing.pool.ThreadPool state=RUN pool_size=34>
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/runner/miniconda3/envs/test/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 67, in collect_unraisable
| warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
| ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| pytest.PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function Pool.__del__ at 0x7f51e4297e20>: None
|
+------------------------------------
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 |