All Versions
Latest Version
Avg Release Cycle
47 days
Latest Release
829 days ago

Changelog History
Page 1

  • v1.2.2 Changes

    June 29, 2020

    πŸ”„ Changes:

    • obspy.core:
      • Fix wrong values in Stats object after deepcopy or pickle of Stats object
        πŸ‘€ for edge cases (see #2601)
    • obspy.clients.fdsn:
      • EIDA routing client: fix an issue that leaded to a request of all EIDA
        data when requesting an invalid, out-of-epochs time window for a valid
        πŸ‘€ station (see #2611)
      • update RASPISHAKE URL mapping to use https
      • fix a bug of not handling HTTPException in mass_downloader (see #2606)
      • use the client's set timeout in service discovery, too (see #2656)
      • add URL mapping for FDSNWS at UIB-NORSAR (see #2659)
    • obspy.clients.filesystem:
      • sds: continue get_all_stations() even if encountering an invalid channel
        πŸ‘€ code (see #2636)
    • obspy.clients.neic:
      • Make client socket blocking (see #2617)
      • Allow 60.0 seconds in the second field of origin times, allow NaN in
        πŸ‘€ the magnitude field for pha format (see #2627)
      • Fixed a bug raising an exception when reading a nordic file with a non
        πŸ‘€ positive-definite covariance matrix (see #2593)
      • Fixed an issue where a response has zero zeros or poles (see #2633)
  • v1.2.2.rc3

    June 29, 2020
  • v1.2.2.rc2

    June 29, 2020
  • v1.2.2.rc1

    June 29, 2020
  • v1.2.1 Changes

    March 11, 2020

    ObsPy 1.2.1 (doi: 10.5281/zenodo.3706479)

    πŸ”„ Changes:

    • πŸ›  fix an installation issue with pip and setuptools version 46 (see #2578)
    • πŸ›  fix response plots when providing axes=... with a numpy array of Axes
      πŸ‘€ instances (see #2579)
  • v1.2.0 Changes

    March 06, 2020

    ObsPy 1.2.0 (doi: 10.5281/zenodo.3674646)

    πŸš€ Work on this release was in parts and among others supported by the following
    institutions/companies and grants (in alphabetical order):

    • Earthquake Commision of New Zealand (EQC), grant 18/753
    • Γ‰cole et Observatoire des Sciences de la Terre - UniversitΓ© de Strasbourg
    • ETH ZΓΌrich
    • Friedrich-Schiller-UniversitΓ€t Jena
    • Geoscience Australia
    • Incorporated Research Institutions for Seismology (IRIS), NSF (SAGE) award
      :: EAR-1851048
    • Institut de Physique du Globe de Strasbourg
    • Institut de Physique du Globe de Paris
    • Institutions for Seismology (IRIS) through the PASSCAL Instrument Center at
      πŸ†• New Mexico Tech. The facilities of the IRIS Consortium are supported by the
      National Science Foundation under Cooperative Agreement EAR-1261681 and the
      πŸ”’ DOE National Nuclear Security Administration.
    • Istituto Nazionale di Geofisica e Vulcanologia, Osservatorio Etneo (Italy),
      Allegato B2 DPC-INGV 2012-2021 Task 10
    • Ludwig-Maximilians-UniversitΓ€t MΓΌnchen
    • National Institute for Occupational Safety and Health
    • Royal Netherlands Meteorological Institute (KNMI)
    • School of Geography, Environment and Earth Sciences, Victoria University of
    • The European Union’s Horizon 2020 research and innovation programme under
      the ChEESE project, grant agreement No. 823844
    • The Royal Observatory of Belgium
    • U.S. Geological Survey

    πŸ”„ Changes:

    • obspy.core:
      • Inventory objects have been adapted to StationXML 1.1 for details on
        πŸ”„ changes see #2510 and
      • Fixed import of custom plugins (see #2423)
      • Fixed "==" comparison for Stream and Trace which was very slow in case of
        πŸ‘€ traces with >1e6 samples (see #2377)
      • Added almost_equal method for Stream and Trace classes (see #2286).
      • Casting FDSN identifiers to strings upon setting in the stats dictionary
        πŸ‘€ (see #1997).
      • UTCDateTime objects will now always evaluate equal if their string
        πŸ‘€ representations are equal (see #2049).
      • UTCDateTime objects now issue depreciation warnings when setting any
        attributes outside of init, or comparing UTCDateTime objects with
        πŸ‘€ different precisions (see #2077).
      • UTCDateTime objects can now accept hour, minute, second, and microsecond
        values greater than their normal limits by setting the strict keyword
        πŸ‘€ argument to False (see #2232).
      • Fixed UTCDateTime(..., julday=366) for non-leap years. This was returning
        January 1st of the next year in case of non-leap years being used. Now it
        πŸ‘€ properly raises an out-of-bounds ValueError (see #2369)
      • When reading StationXML/SC3ML, make sure to properly read empty string
        πŸ‘€ fields as empty strings instead of "None" (see #2519 and #2527)
      • Better ISO8601 detection for UTCDateTime objects and UTCDateTime(...,
        πŸ‘€ iso8601=False) now completely disables ISO8601 handling (see #2447)
      • Added replace method to UTCDateTime class (see #2077).
      • Added remove method to Inventory class (see #2088).
      • Added id property to WaveformStreamID (see #2131).
      • Added str and repr_pretty method for Comment class (see #2115)
      • Added eq to QuantityError so empty instances equal None (see #2185).
      • Reworked the event scoped resource identifiers for the event classes
        πŸ‘€ hopefully fixing all edge-cases (see #2091).
      • Added a hook to allow users to customize finding objects for
        πŸ‘€ resource_ids which are not found via the normal means (see #2279).
      • Calling Stream.write(...) on an empty stream will now raise an
        πŸ‘€ ObsPyException consistently across all I/O plugins (see #2201)
      • Stream.get_gaps() will now properly report gaps within Traces that
        πŸ”€ have masked arrays (i.e. Traces that have been merged without a fill
        πŸ‘€ value, see #2299 and #2300).
      • Added copy method to Inventory class (see #2322).
      • The Response.recalculate_overall_sensitivity() method now accepts integers
        πŸ‘€ (see #2338, #2343).
      • Added wildcard and url support to read_inventory (see #2326).
      • Modified stream.get_gaps() to deal with overlaps correctly (see #1403)
      • Added option "label_epoch_dates" to Inventory/Network.plot_response() to
        πŸ‘€ optionally add channel epoch start/end dates to legend labels (see #2309)
      • Deprecated the convert_id_to_quakeml_uri, regenerate_uuid, and
        get_quakeml_uri methods of the ResourceIdentifier class (see #2303).
      • Added get_quakeml_uri_str and get_quakeml_id methods to the
        πŸ‘€ ResourceIdentifier class (see #2303).
      • New method to create response objects directly from poles and zeros (see
      • Added Stream.stack method (see #2440).
      • Added a component field to the Stats object which allows to get and set
        πŸ‘€ the last character of the SEED channel (see #2484).
      • Fixed a bug in Stream.plot(type='section', reftime=..., ...) that caused
        πŸ‘€ wrong relative start times of traces relative to given reftime (see #2493)
      • Fixed a Windows-specific path case issue in a helper function that returns
        πŸ‘€ a list of untracked files in the git repository (see #2296)
      • Fix a bug that was causing an exception being raised in Response.plot()
        because a float was being passed down to numpy.linspace as length of array
        πŸ‘€ (see #2533)
      • Geographic select of inventory/network/station (see #2515)
      • Select traces in Stream based on an Inventory (see #2531)
    • obspy.clients.fdsn:
      • Add new _discover_services boolean flag to the Client, which allows the
        Client to skip the initial services query at instantiation. This can
        ⬇️ reduce the load on service providers, but skips checks against unsupported
        query parameters.
      • Adding more location codes to the default priority list in the mass
        πŸ‘€ downloader (see #2155, #2159).
      • The mass downloader now raises a warning if all channels from a station
        0️⃣ have been deselected due to the default location priorities setting. This
        is a pure usability improvement as it has been confusing users
        πŸ‘€ (see #2159).
      • Make sure that streams fetched via FDSN are properly trimmed to user
        requested times if data center serves additional data around the start/end
        πŸ‘€ (see #1887, #2298)
      • Fix a problem that could spam subprocesses that were not closed in routed
        πŸ‘€ clients (see #2342 and #2344)
      • Make it possible to use signed EIDA tokens and also skip token validation
        πŸ‘€ completely (see #2297)
      • Adding a mapping for RASPISHAKE
    • obspy.clients.filesystem.tsindex:
      • Add new Client & Indexer modules based on IRIS time series index (see
    • obspy.clients.iris:
      • Results of distaz method are now returned as native floats (see #2499)
    • obspy.clients.neic:
      • Properly use specified timeout value (see #2450)
    • πŸ‘€ obspy.clients.seedlink:
      • Add method "get_info()" to fetch information on what
        πŸ‘€ networks/stations/locations/channels are served by the seedlink server
        πŸ‘€ (see #2405)
      • "get_waveforms()" can now be used with '*' and '?' wildcards in any part
        πŸ‘€ of requested SEED ID, i.e. network, station, location and channel (see
    • obspy.clients.seishub:
      • Properly handle fetching poles and zeros in presence of multiple metadata
        πŸ‘€ files for a given station (see #2411)
    • obspy.geodetics:
      • New utility function inside_geobounds() to check whether an object is
        πŸ‘€ inside a geographic bound (see #2515)
    • obspy.imaging:
      • obspy-scan can now be used with wildcarded SEED IDs when specifying what
        πŸ‘€ to plot after scanning data (see #2227)
      • Fix a problem in Scanner when loading npz on Python3 that was written on
        πŸ‘€ Python2 (see #2413)
      • Fix an issue that could make small landmasses not get plotted in basemap
        πŸ‘€ plots (see #2471, #2477)
      • Fixed a bug in Stream.plot(type='section', reftime=..., ...) that caused
        πŸ‘€ wrong relative start times of traces relative to given reftime (see #2493)
      • Added read support for receiver gather format v. 1.6 (see #2070)
      • Added read support for FOCMEC 'out' and 'lst' files (see #2156)
      • Added read support for HypoDD 'pha' files (see #2378)
      • Accommodate change in SeisComP3 publicID delimiter from '#' to '/' in
        πŸ‘€ ArclinkXML (see #2552)
      • Add read support for INGV's DMX format (see #2452)
      • Fixes Python 3.8 compatibility of GCF reader. (see #2505)
    • πŸ‘€
      • Fix a bug resulting in an infinite loop when trying to read a FullSEED
        πŸ‘€ file without any data records (see #2534 and #2535)
      • Add ability to write int64 data to mseed if it can safely be downcast
        πŸ‘€ to int32 data, otherwise raises ObsPyMSEEDError. (see #2356)
      • The recordanalyzer can now detect calibration blockettes 300, 310,
        πŸ‘€ and 320 (see #2370).
      • Can now write zero sampling-rate traces. (see #2488, 2509)
      • Add ability to read and write focal mechanisms and moment tensor
        πŸ‘€ information. (see #1924)
      • Add explicit warnings regarding unsupported sections of Nordic files.
      • Fix mapping of magnitude-types between MS to S and Ms to s.
      • Output preferred origin when writing to Nordic format instead of using
        πŸ‘€ the first origin (see #2195)
      • Include high-accuracy phase-pick reading and writing - high-accuracy is
        0️⃣ now the default phase-writing format, a boolean flag high_accuracy
        πŸ‘€ has been added to turn this off. (see #2351 and #2348)
      • Allow long-phase names (both reading and writing) - longer than 4 char.
        πŸ‘€ (see #2351)
      • Include AIN as takeoff-angle when reading and writing nordic files
        πŸ‘€ (see #2404).
      • Add error ellipses and read high-accuracy hypocenter lines (see #2451)
      • Fix the incorrect handling of events missing pick evaluation information
        πŸ‘€ (see #2520)
      • Implement reading reftek encodings '16' and '32' (uncompressed data,
        πŸ‘€ 16/32bit integers, see #2058 and #2059)
      • Implement module to read waveforms and headers from fcnt format (see #2265).
      • Fix reading when start+endtime are inside one data packet (see #2485).
      • Fix bug writing inventory with SOH channels to SACPZ (see #2200).
      • Blank-pad character header variables, as opposed to NUL-padding them, to
        πŸ‘€ comply with SAC behavior (see #2543).
      • Raise nicer error messages when header packing fails (see #2194, #2196).
      • Show nice error message when trying to write a trace with too many samples
        πŸ‘€ in it (see #2358, #1393)
      • Handle data format code 3 trace data (#2022, #2385).
      • Improve parsing of free-form entries (#2385).
      • Fix non-native endian data loading (#2385).
      • Adding support for SC3ML 0.10 (see #2024).
      • Update xsl to allow conversion of amplitude picks not associated with
        πŸ‘€ origins (see #2273).
      • Very large performance improvement reading large sc3ml inventory files by
        pre-indexing sensors, dataloggers and responses and reducing lxml calls
        πŸ‘€ (see #2296).
      • When reading StationXML/SC3ML, make sure to properly read empty string
        πŸ‘€ fields as empty strings instead of "None" (see #2519 and #2527)
      • Add read support for SeismicHandler EVT event files (see #2109)
      • Add possibility to add custom database columns when writing catalog or
        πŸ‘€ inventory objects to shapefile (see #2012 and #2305)
      • Allow writing invalid ids but raise a warning
        πŸ‘€ (see #2104, #2090, #2093, #1872).
      • Skip invalid enumeration values during reading but raise a warning.
        πŸ‘€ (see #2106, #2098, #2095)
      • Catalogs with empty event description objects can be round-tripped (see
        #2339, #2340).
      • Correctly handle QuakeML native namespaces (if they are not matching the
        πŸ“œ document root's namespace) as custom namespaces and parse them into
        πŸ‘€ .extra (see #2466)
    • πŸ‘€
      • Ability to parse SEED files with extra newlines between blockettes
        πŸ‘€ (see #2383)
    • 🚦 obspy.signal.cross_correlation:
      • Add new correlate_template() function with 'full' normalization option,
        required for correlations in template-matching
        πŸ‘€ (see #2035 and #2042).
      • 'domain' parameter in correlate function is deprecated in favour of new
        'method' parameter to be consistent with recent SciPy versions
        πŸ‘€ (see #2042).
      • Add correlate_stream_template() and correlation_detector()
        πŸ‘€ functions to detect events based on template matching (see #2315)
    • 🚦 obspy.signal.PPSD:
      • Changed numpy-based serialization as to not require pickling (see #2424).
      • Fixed exact trace cutting for PSD segments (see #2040).
      • Timestamp representations internally and in npz I/O were changed to use
        integer nanosecond POSIX timestamps to avoid any potential floating point
        inaccuracies and since this is also what UTCDateTime is based on nowadays
        πŸ‘€ (see #2045).
      • Fixed the check for new PSD slices whether they should be added or whether
        πŸ‘€ they would add unwanted duplicated data (see #2229).
      • Fix period_lim option when xaxis_frequency=True (see #2246).
      • Added allow_pickle parameter to PPSD.add_npz and PPSD.load_npz and
        πŸ‘€ set its default to False (see #2457).
      • Added representation of earthquake models from Clinton & Heaton (2002) in
        πŸ‘€ 'plot()' method using option 'show_earthquakes' (see #2455).
    • 🚦 obspy.signal.polarization:
      • Fix an issue with covariance matrix in vidale algorithm and make adaptive
        πŸ‘€ windowing opt-out (see #2565)
      • Fix an issue in selecting Z/N/E traces from given stream (see #2365)
    • 🚦 obspy.signal.trigger:
      • Fix a bug in AR picker (see #2157)
      • Option to return Baer-Kradolfer characteristic function from pk_mbaer
        πŸ‘€ function added (see #2341)
    • obspy.taup:
      • Fix cycling through colors in ray path plots (see #2470, #2478)
      • Fix a floating point issue on IBM machines (see #2559, #2560)
  • v1.2.0.rc9

    March 06, 2020
  • v1.2.0.rc8

    February 26, 2020
  • v1.2.0.rc7

    February 26, 2020
  • v1.2.0.rc6

    February 14, 2020