#154745 Report by node geo3bcn-drake covering 2340 tests from 61 modules resulted into 2 errors

Report

ObsPy version
1.5.0
GitHub Pull Request
-
Report file
JSON document
Total runtime
167.2 sec
Report date/time
March 16, 2026, 2:36 a.m.

System / Python

Architecture
64bit
Machine
x86_64
Node
geo3bcn-drake
Processor
x86_64
Python Compiler
GCC 13.3.0
Python Implementation
CPython
Python Version
3.12.3
Release
6.8.0-106-generic
System
Linux
Version
#106-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 6 07:58:08 UTC 2026

Dependencies

cartopy
0.24.1
decorator
5.1.1
flake8
---
geographiclib
2.0
lxml
5.2.1
matplotlib
3.6.3
numpy
1.26.4
obspy
1.5.0
pyproj
3.7.1
pytest
9.0.2
pytest-json-report
1.5.0
requests
2.31.0
scipy
1.11.4
setuptools
68.1.2
shapefile
---
sqlalchemy
1.4.50

Modules (61)

Module Errors / Failures Tracebacks
obspy.clients.earthworm Not tested -
obspy.clients.fdsn - -
obspy.clients.filesystem - -
obspy.clients.iris Not tested -
obspy.clients.neic Not tested -
obspy.clients.nrl - -
obspy.clients.seedlink - -
obspy.clients.syngine Not tested -
obspy.core - -
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 2 1 2
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)

010 Picks cannot be stored.
011
012 >>> from obspy import read_events
013 >>> events = read_events('/path/to/catalog.csv')
014 >>> print(events) # doctest: +NORMALIZE_WHITESPACE
015 3 Event(s) in Catalog:
016 2012-04-04T14:21:42.300000Z | +41.818, +79.689 | 4.4 mb
017 2012-04-04T14:18:37.000000Z | +39.342, +41.044 | 4.3 ML
018 2012-04-04T14:08:46.000000Z | +38.017, +37.736 | 3.0 ML
019 >>> events.write('local_catalog.csv', 'CSV') # declare 'CSV' as format
UNEXPECTED EXCEPTION: PermissionError(13, 'Permission denied')
Traceback (most recent call last):
File "/usr/lib/python3.12/doctest.py", line 1361, in __run
exec(compile(example.source, filename, "single",
File "<doctest obspy.io.csv[3]>", line 1, in <module>
File "/usr/local/lib/python3.12/dist-packages/obspy/core/event/catalog.py", line 524, in write
return write_format(self, filename, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/obspy/io/csv/core.py", line 293, in _write_csv
with _open(fname, 'w') as f:
File "/usr/lib/python3.12/contextlib.py", line 137, in __enter__
return next(self.gen)
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/obspy/io/csv/core.py", line 112, in _open
with open(filein, *args, **kwargs) as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: 'local_catalog.csv'
/usr/local/lib/python3.12/dist-packages/obspy/io/csv/__init__.py:19: UnexpectedException
266 If the parameters `delimiter` or `header` are changed,
267 ObsPy's read_events function will not automatically identify the file
268 as CSV file
269
270 Example
271 -------
272
273 >>> from obspy import read_events
274 >>> events = read_events() # get example catalog
275 >>> events.write('local_catalog.csv', 'CSV') # declare 'CSV' as format
UNEXPECTED EXCEPTION: PermissionError(13, 'Permission denied')
Traceback (most recent call last):
File "/usr/lib/python3.12/doctest.py", line 1361, in __run
exec(compile(example.source, filename, "single",
File "<doctest obspy.io.csv.core._write_csv[2]>", line 1, in <module>
File "/usr/local/lib/python3.12/dist-packages/obspy/core/event/catalog.py", line 524, in write
return write_format(self, filename, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/obspy/io/csv/core.py", line 293, in _write_csv
with _open(fname, 'w') as f:
File "/usr/lib/python3.12/contextlib.py", line 137, in __enter__
return next(self.gen)
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/obspy/io/csv/core.py", line 112, in _open
with open(filein, *args, **kwargs) as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: 'local_catalog.csv'
/usr/local/lib/python3.12/dist-packages/obspy/io/csv/core.py:275: UnexpectedException

Skipped tests (19)

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

Slowest tests (20)

Runtime Test
7.450s core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_local
6.460s core/tests/test_event.py::TestEvent::test_plot_farfield_without_quiver_with_maps
4.237s taup/tests/test_tau.py::TestTauPyModel::test_regional_models
4.110s taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_shoot_existing_ray_param
4.031s core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_global
3.622s taup/__init__.py::obspy.taup
3.575s io/xseed/tests/test_core.py::TestCore::test_response_calculation_from_seed_and_xseed
2.731s signal/tests/test_calibration.py::TestCalibration::test_relcal_different_overlaps
2.686s clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelper::test_download_method
2.518s core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_ortho
2.391s core/tests/test_network.py::TestNetworkCartopy::test_location_plot_ortho
1.794s taup/tests/test_seismic_phase.py::TestTauPySeismicPhase::test_many_identically_named_phases
1.693s taup/tests/test_tau.py::TestTauPyModel::test_vs_java_iasp91
1.648s core/tests/test_network.py::TestNetworkCartopy::test_location_plot_global
1.522s signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_stream_template_and_correlation_detector
1.435s signal/tests/test_spectral_estimation.py::TestPsd::test_ppsd_restricted_stacks
1.326s core/tests/test_network.py::TestNetworkCartopy::test_location_plot_local
1.312s core/stream.py::obspy.core.stream.read
1.238s signal/tests/test_rotate.py::TestRotate::test_rotate2zne_against_lqt_different_combinations
1.192s taup/tests/test_taup_plotting.py::TestTauPyPlotting::test_spherical_many_phases