#154746 Report by node geo3bcn-seiscomp 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
- 68.1 sec
- Report date/time
- March 16, 2026, 2:34 a.m.
System / Python
- Architecture
- 64bit
- Machine
- x86_64
- Node
- geo3bcn-seiscomp
- 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.2.1
- flake8
- ---
- geographiclib
- 2.0
- lxml
- 5.2.1
- matplotlib
- 3.10.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.15.3
- setuptools
- 68.1.2
- shapefile
- ---
- sqlalchemy
- 1.4.54
Modules (61)
| Module | Errors / Failures | Tracebacks | ||||
|---|---|---|---|---|---|---|
| obspy.clients.earthworm | Not tested | - | - | - | - | - |
| obspy.clients.fdsn | - | 101 | 101 | - | 2.43s | - |
| obspy.clients.filesystem | - | 26 | 26 | - | 0.69s | - |
| obspy.clients.iris | Not tested | - | - | - | - | - |
| obspy.clients.neic | Not tested | - | - | - | - | - |
| obspy.clients.nrl | - | 16 | 16 | - | 0.41s | - |
| obspy.clients.seedlink | - | 2 | 2 | - | 0.00s | - |
| obspy.clients.syngine | Not tested | - | - | - | - | - |
| obspy.core | - | 701 | 700 | 1 | 14.41s | - |
| obspy.core.event | - | 18 | 18 | - | 0.10s | - |
| obspy.core.inventory | - | 24 | 24 | - | 0.44s | - |
| obspy.core.util | - | 23 | 20 | 3 | 0.06s | - |
| obspy.geodetics | - | 21 | 20 | 1 | 0.04s | - |
| obspy.imaging | - | 93 | 92 | 1 | 9.38s | - |
| obspy.io.ah | - | 11 | 11 | - | 0.03s | - |
| obspy.io.alsep | - | 16 | 16 | - | 0.29s | - |
| obspy.io.arclink | - | 5 | 5 | - | 0.66s | - |
| obspy.io.ascii | - | 30 | 28 | 2 | 0.06s | - |
| obspy.io.cmtsolution | - | 10 | 10 | - | 0.03s | - |
| obspy.io.cnv | - | 1 | 1 | - | 0.01s | - |
| obspy.io.css | - | 10 | 10 | - | 0.07s | - |
| obspy.io.csv | 2 | 17 | 17 | - | 0.17s | 1 2 |
| obspy.io.cybershake | - | 3 | 3 | - | 0.02s | - |
| obspy.io.dmx | - | 5 | 5 | - | 0.03s | - |
| obspy.io.focmec | - | 8 | 8 | - | 0.04s | - |
| obspy.io.gcf | - | 14 | 13 | 1 | 0.14s | - |
| obspy.io.gse2 | - | 55 | 55 | - | 0.16s | - |
| obspy.io.hypodd | - | 9 | 9 | - | 0.08s | - |
| obspy.io.iaspei | - | 9 | 9 | - | 0.22s | - |
| obspy.io.json | - | 4 | 4 | - | 0.02s | - |
| obspy.io.kinemetrics | - | 12 | 12 | - | 0.18s | - |
| obspy.io.kml | - | 3 | 3 | - | 0.05s | - |
| obspy.io.mseed | - | 128 | 128 | - | 0.72s | - |
| obspy.io.ndk | - | 20 | 20 | - | 0.14s | - |
| obspy.io.nied | - | 11 | 11 | - | 0.06s | - |
| obspy.io.nlloc | - | 16 | 16 | - | 0.08s | - |
| obspy.io.nordic | - | 61 | 59 | 2 | 0.64s | - |
| obspy.io.pdas | - | 3 | 3 | - | 0.01s | - |
| obspy.io.pde | - | 13 | 12 | 1 | 0.20s | - |
| obspy.io.quakeml | - | 38 | 37 | 1 | 0.09s | - |
| obspy.io.reftek | - | 21 | 21 | - | 0.07s | - |
| obspy.io.rg16 | - | 38 | 38 | - | 0.08s | - |
| obspy.io.sac | - | 101 | 101 | - | 0.33s | - |
| obspy.io.scardec | - | 5 | 5 | - | 0.05s | - |
| obspy.io.seg2 | - | 2 | 2 | - | 0.01s | - |
| obspy.io.segy | - | 56 | 56 | - | 0.17s | - |
| obspy.io.seisan | - | 8 | 7 | 1 | 0.04s | - |
| obspy.io.seiscomp | - | 51 | 51 | - | 0.68s | - |
| obspy.io.sh | - | 26 | 24 | 2 | 0.14s | - |
| obspy.io.shapefile | - | 7 | 7 | - | 0.14s | - |
| obspy.io.stationtxt | - | 11 | 11 | - | 0.07s | - |
| obspy.io.stationxml | - | 25 | 25 | - | 0.15s | - |
| obspy.io.wav | - | 8 | 7 | 1 | 0.03s | - |
| obspy.io.win | - | 5 | 5 | - | 0.10s | - |
| obspy.io.xseed | - | 84 | 84 | - | 2.47s | - |
| obspy.io.y | - | 5 | 4 | 1 | 0.01s | - |
| obspy.io.zmap | - | 15 | 15 | - | 0.09s | - |
| obspy.realtime | - | 22 | 22 | - | 0.13s | - |
| obspy.scripts | - | 2 | 2 | - | 0.01s | - |
| obspy.signal | - | 235 | 234 | 1 | 11.10s | - |
| obspy.taup | - | 76 | 76 | - | 14.57s | - |
| Summary | 2 | 2340 | 2321 | 19 | 68.12s | 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 |