Skip to main content

Keep a local seismic catalog

Project description

SeisCat

Keep a local seismic catalog.

changelog-badge PyPI-badge license-badge docs-badge DeepWiki-badge codecov-badge DOI-badge

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

Overview

SeisCat is a command-line tool to build, maintain, and query a local seismic catalog.

It builds and updates the catalog from FDSNWS event web services or local event files. Input formats include CSV and any format handled by ObsPy (QuakeML, SC3ML, NLLOC, etc.). The catalog is stored in a SQLite single-file database and can be used as a basis for further analysis.

SeisCat also provides tools to plot and export the catalog, fetch waveforms and station metadata for catalog events, and run user-defined scripts on those events.

👇 See below on how to install and get started.

📖 Check out the official documentation.

Getting Started

To get help:

seiscat -h

First thing to do is to generate a sample configuration file:

seiscat sampleconfig

Then, edit the configuration file and init the database:

seiscat initdb

Alternatively, you can init the database from an event file (CSV, QuakeML, SC3ML, NLLOC, etc.):

seiscat initdb -f /path/to/your/catalog.csv
seiscat initdb -f /path/to/your/events.xml

To update an existing database from an FDSN webservice, run:

seiscat updatedb

(This will use the configuration parameter recheck_period to recheck the last n days or hours).

Alternatively, you can update the database from an event file:

seiscat updatedb -f /path/to/your/catalog.csv
seiscat updatedb -f /path/to/your/events.xml

You can edit the attributes of specific events in the database using:

seiscat editdb

You can print the catalog to screen:

seiscat print

Or plot it:

seiscat plot

Each of the above commands can have its own options. As an example, to discover the options for the plot command, try:

seiscat plot -h

To enable command line tab completion run:

seiscat self completion install

Installation

Recommended installation (system tool)

The easiest and recommended way to install SeisCat is as a system tool using the official installation script. This installs SeisCat independently of your system Python (if any) and manages it via uv.

Linux & macOS

Run one of the following commands:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/SeismicSource/seiscat/refs/heads/main/scripts/install_seiscat_uv.sh)"

or:

bash -c "$(wget https://raw.githubusercontent.com/SeismicSource/seiscat/refs/heads/main/scripts/install_seiscat_uv.sh -O -)"

Windows (PowerShell)

Run the following command in PowerShell:

powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/SeismicSource/seiscat/refs/heads/main/scripts/install_seiscat_uv.ps1 | iex"

Updating SeisCat

Once installed as a system tool, SeisCat can be updated directly:

seiscat self update

To switch to the development version:

seiscat self update --git

For alternative installation methods (pip, development snapshots, releases, and editable source installs), see the full installation documentation.

Getting Help / Reporting Bugs

🙏 I need help

Please open an Issue.

🐞 I found a bug

Please open an Issue.

Contributing

I'm very open to contributions: if you have new ideas, please open an Issue. Don't hesitate sending me pull requests with new features and/or bugfixes!

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seiscat-0.9.3.tar.gz (168.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

seiscat-0.9.3-py3-none-any.whl (163.3 kB view details)

Uploaded Python 3

File details

Details for the file seiscat-0.9.3.tar.gz.

File metadata

  • Download URL: seiscat-0.9.3.tar.gz
  • Upload date:
  • Size: 168.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for seiscat-0.9.3.tar.gz
Algorithm Hash digest
SHA256 9338bfad950a1acb6156e3d0676d2047a3741269e07c760bf3bd09a3f89793f8
MD5 50525c94577b6f5a42da4fe9c64508a7
BLAKE2b-256 20b4ea30472bd6858dae2d217881f6f5b893233e2894118e5540b90ad6a7d0aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for seiscat-0.9.3.tar.gz:

Publisher: publish-to-pypi.yml on SeismicSource/seiscat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file seiscat-0.9.3-py3-none-any.whl.

File metadata

  • Download URL: seiscat-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 163.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for seiscat-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b37bb7679ed787ce1b366c440183a7e13b14b00c4ac11bf2701fbb1d1aa83766
MD5 79e7f63a80c46e013ace33b2fc98db7d
BLAKE2b-256 ebbe0461a0dd28ea4b6eb96fed11236c98749773c5d5d8f7ce93347246dccbd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for seiscat-0.9.3-py3-none-any.whl:

Publisher: publish-to-pypi.yml on SeismicSource/seiscat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page