Skip to content

Releases: SeismicSource/seiscat

v0.9.4

23 Apr 11:35

Choose a tag to compare

SeisCat

Keep a local seismic catalog.

Copyright (c) 2022-2026 Claudio Satriano satriano@ipgp.fr


SeisCat is an open-source command-line tool for keeping and querying a local seismic catalog.

Source code:
github.com/SeismicSource/seiscat

Documentation:
seiscat.readthedocs.io

If you use SeisCat in your work, please cite:

Satriano, C. (2026). SeisCat: Keep a local seismic catalog (X.Y). doi: 10.5281/ZENODO.8411836

Replace X.Y with the specific SeisCat version number used in your study.

   /\_/\
~~( ⊙.⊙ )~~ SeisCat

Changes in this version:

0.9.4 - 2026-04-23

Added

  • New station_codes configuration parameter for filtering stations by name
    when downloading waveforms (analogous to channel_codes).
    Supports multiple codes and wildcard patterns (?, *).
  • New picked_stations_only configuration parameter to restrict waveform
    downloads to stations that have at least one P or S-wave arrival in the
    catalog (requires a QuakeML event details file to be present).
  • seiscat self status now reports installation status of optional plotting
    modules (cartopy, plotly, pandas, folium).

Fixed

  • Fixed seiscat self update --git to install optional plotting/data
    dependencies (cartopy, plotly, folium) together with
    SeisCat.

v0.9.3

20 Apr 18:03

Choose a tag to compare

SeisCat

Keep a local seismic catalog.

Copyright (c) 2022-2026 Claudio Satriano satriano@ipgp.fr


SeisCat is an open-source command-line tool for keeping and querying a local seismic catalog.

Source code:
github.com/SeismicSource/seiscat

Documentation:
seiscat.readthedocs.io

If you use SeisCat in your work, please cite:

Satriano, C. (2026). SeisCat: Keep a local seismic catalog (X.Y). doi: 10.5281/ZENODO.8411836

Replace X.Y with the specific SeisCat version number used in your study.

   /\_/\
~~( ⊙.⊙ )~~ SeisCat

Changes in this version:

0.9.3 - 2026-04-20

Fixed

  • Fix capitalization of SeisCat in small logo 😳
  • Fix seiscat self update logic to properly handle up-to date versions

v0.9.2

20 Apr 16:26

Choose a tag to compare

SeisCat

Keep a local seismic catalog.

Copyright (c) 2022-2026 Claudio Satriano satriano@ipgp.fr


SeisCat is an open-source command-line tool for keeping and querying a local seismic catalog.

Source code:
github.com/SeismicSource/seiscat

Documentation:
seiscat.readthedocs.io

If you use SeisCat in your work, please cite:

Satriano, C. (2026). SeisCat: Keep a local seismic catalog (X.Y). doi: 10.5281/ZENODO.8411836

Replace X.Y with the specific SeisCat version number used in your study.

   /\_/\
~~( ⊙.⊙ )~~ SeiScat

Changes in this version:

0.9.2 - 2026-04-20

Added

  • New installer script to install SeisCat
    as a uv-managed system tool on Linux, macOS, and Windows (PowerShell).
  • New seiscat self workflows for self-management, including
    updates (seiscat self update, seiscat self update --git) and shell
    completion setup (seiscat self completion install).
  • New ascii-art small logo 🐱

v0.9.1

17 Apr 16:12

Choose a tag to compare

SeisCat

Keep a local seismic catalog.

Copyright (c) 2022-2026 Claudio Satriano satriano@ipgp.fr


SeisCat is an open-source command-line tool for keeping and querying a local seismic catalog.

Source code:
github.com/SeismicSource/seiscat

Documentation:
seiscat.readthedocs.io

If you use SeisCat in your work, please cite:

Satriano, C. (2026). SeisCat: Keep a local seismic catalog (X.Y). doi: 10.5281/ZENODO.8411836

Replace X.Y with the specific SeisCat version number used in your study.

Changes in this version:

0.9.1 - 2026-04-17

Added

  • New config options fdsn_event_user and fdsn_event_password to specify
    authentication credentials for the FDSN event web service (fdsn_event_url).
  • New config options fdsn_providers_users and fdsn_providers_passwords
    (parallel lists) to specify per-provider authentication credentials for
    waveform/metadata providers (fdsn_providers).
  • New config option keep_raw_evid (default: False). When True, the full
    original resource_id string is stored in an additional protected column
    raw_evid alongside the normalized evid. This is useful when the
    normalized evid is not recognized by the FDSN server and the original
    resource_id is needed to download event details.
  • seiscat fetchdata: when downloading event details fails with the
    normalized evid, automatically retry using the raw_evid value (if the
    raw_evid column is present in the database).
  • New --max-col-width option for seiscat print to limit the width of
    columns in the interactive table pager. Longer values are truncated with
    ..., while full row details remain available via the Enter popup.
  • seiscat print interactive event sorting popup:
    • option to restore the default sort order by pressing 0
    • it's now possible to dismiss the event sorting popup
      by pressing esc or q.

Fixed

  • Fixed pager sorting failing when a column contains None values mixed with
    numeric values (e.g. magnitude columns with positive and negative values).
  • Fixed seiscat plot -b cartopy crashing with IndexError when the map
    extent is very small (e.g. near-coincident events), by falling back to the
    simple background when Natural Earth imagery cannot be rendered.
  • Fixed clipboard copying of evid not working on linux.

v0.9

15 Apr 15:56

Choose a tag to compare

SeisCat

Keep a local seismic catalog.

Copyright (c) 2022-2026 Claudio Satriano satriano@ipgp.fr


SeisCat is an open-source command-line tool for keeping and querying a local seismic catalog.

Source code:
github.com/SeismicSource/seiscat

Documentation:
seiscat.readthedocs.io

If you use SeisCat in your work, please cite:

Satriano, C. (2026). SeisCat: Keep a local seismic catalog (X.Y). doi: 10.5281/ZENODO.8411836

Replace X.Y with the specific SeisCat version number used in your study.

Changes in this version:

0.9 - 2026-04-15

This is a major release with substantial improvements across visualization,
database management, and workflow automation. Highlights include a new
interactive terminal UI, expanded plotting capabilities with Plotly, and four
new core commands: seiscat timeline, seiscat export, seiscat cropdb, and
seiscat run. Additional enhancements throughout the CLI make filtering,
import/export, and event processing more powerful and flexible.

Minimum required Python version is now 3.9, and support for Python
3.13 and 3.14 has been added.

See the full changelog below for complete details.

Added

Compatibility

  • Added support for Python 3.13 and 3.14.

CLI and User Interface

  • Added colored help output using rich-argparse.
  • Added colorized error messages for improved visibility and consistency.
  • Added interactive table pager for seiscat print -f table with:
    • fixed header
    • alternating row colors
    • row selection
    • sorting
    • copying evid
    • keyboard navigation
    • event details popup
  • Added new seiscat logo command to print the ASCII-art SeisCat logo.

Filtering and Sorting

  • Added new --where-help option to display detailed help for the --where
    filter expression, including syntax, examples, and notes. Available from any
    subcommand supporting --where (editdb, print, export, plot,
    fetchdata, run).
  • Added new --sortby option to sort catalog output by any database field
    (default: time). Available for:
    • seiscat print
    • seiscat export
    • seiscat plot
    • seiscat run
  • Added tab-completion support for --sortby field names.

Plotting and Visualization

  • Added new seiscat timeline command with:
    • matplotlib / plotly / terminal backends
    • attribute or count mode (--count, --bins)
    • optional --colorby
    • time-formatted axis/colorbar when using time
  • Added --colorby support for map plots.
  • Added --colormap support (with autocompletion) for:
    • seiscat plot
    • seiscat timeline
  • Added new --threshold option for seiscat plot (Cartopy + --colorby
    only): markers above threshold retain a black outline.
  • Added new plotly plottype for seiscat plot, enabling interactive 3D
    seismicity plots.
  • Added new --out-file option for seiscat plot to save plots to file.

Data Import and Export

  • Added --fromfile option to seiscat initdb and seiscat updatedb to
    initialize/update the database from an event file.
    Supported formats:
    • CSV
    • Any ObsPy-supported format (QuakeML, SC3ML, NLLOC, etc.)
  • Added -C, --crop option for file-based imports in seiscat initdb and
    seiscat updatedb to crop imported events according to configured selection
    criteria.
  • Added new CSV import option -x, --missing-value in seiscat initdb and
    seiscat updatedb to define missing-value markers (e.g. -999, N/A).
  • Added new --csv-extra-columns option to seiscat initdb for importing
    non-standard CSV columns as additional database fields.
  • Added new seiscat export command to export catalogs in:
    • CSV
    • GeoJSON
    • KML

Database Management

  • Added new seiscat cropdb command to crop an existing database to configured
    selection criteria.
  • Added seiscat editdb options to:
    • add table columns
    • delete table columns
    • rename table columns
  • Added protection for default columns against rename/delete.
  • Added new seiscat get and seiscat set commands to retrieve/set specific
    event attribute values.

Automation and Scripting

  • Added new seiscat run command to run a user-defined command on each event.
  • Added new seiscat samplescript command to generate a sample script for
    seiscat run.

Data Retrieval

  • Added new --sds option for seiscat fetchdata to retrieve waveform data
    from a local SDS archive.

Configuration

  • Added new configuration option prefer_high_sampling_rate.
  • Added new configuration option station_radius_max_mag for
    magnitude-dependent maximum station radius.

Changed

  • Raised minimum required Python version to 3.9.
  • Changed default database filename from seiscat.sqlite to
    seiscat_db.sqlite.
  • Improved error messages for --where to suggest using --where-help.
  • Improved --where handling of missing values:
    • mag=None
    • mag==None
    • mag!=None
      are now translated into SQL IS NULL / IS NOT NULL.
  • Renamed -m/--maptype to -b/--backend in seiscat plot for consistency
    with seiscat timeline.
  • Renamed seiscat download to seiscat fetchdata.
  • Replaced configuration option channel_priorities with channel_codes.
  • seiscat plot now respects --sortby instead of always sorting by time,
    allowing control over draw order.
  • Upgraded Cartopy maps to use higher-resolution Natural Earth background
    images.
  • seiscat editdb now requires repeating --set and --increment for each
    KEY=VALUE pair. Example: -s locked=True -s processed=True.

Removed

  • Removed configuration option location_priorities.
  • Removed CSV output format from seiscat print; use seiscat export instead.

Fixed

  • Fixed an issue in seiscat editdb where positional arguments (eventid,
    event_version) were not parsed correctly due to improper handling of
    --set and --increment.

Release v0.8

28 Oct 10:06

Choose a tag to compare

  • New option for seiscat print and seiscat plot: --where to filter events
    based on one or more conditions
  • New option for seiscat plot: --maptype to use either cartopy
    (Matplotlib) or folium (HTML) for plotting maps
  • New command line option seiscat download to download full event details
    and/or waveform data and metadata from FDSNWS services

Release v0.7

11 Mar 14:49

Choose a tag to compare

  • CSV output for seiscat print, using --format=csv (or -f csv)
  • Special argument ALL for seiscat editdb to edit all the events
    (or all the events of a given version when used together with the
    --version argument)
  • New option for seiscat editdb: --increment to increment (or decrement)
    a numeric field by a given, positive or negative, amount

Release v0.6

26 Jun 08:42

Choose a tag to compare

  • New command to edit the event database: seiscat editdb
  • eventid argument for seiscat print, to print a specific event
  • Fix bug where an event was updated when extra fields were set to a different
    value than the default
  • Fix bug where an event was updated to new version even if the same event
    already existed in the database

Release v0.5

22 Jun 15:36

Choose a tag to compare

  • New configuration option: overwrite_updated_events. Default is False
    and updated events get an incremented version number
  • --allversions option for seiscat print and seiscat plot to print/show
    all the versions for events with more than one version
  • --format option for seiscat print: current possibilities are table
    (default) and stats
  • --reverse option for seiscat print: if set, latest events will be printed
    on top
  • Rename database column dep to depth

Release v0.4

20 Jun 15:25

Choose a tag to compare

  • Command line autocompletion, thanks to argcomplete
  • Show event depth in plot annotation
  • --scale option for seiscat plot
  • Correctly parse evids from USGS and ISC
  • Exit gracefully if database file is missing
  • Fix printing of None values