Keep a local seismic catalog
Project description
SeisCat
Keep a local seismic catalog.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9338bfad950a1acb6156e3d0676d2047a3741269e07c760bf3bd09a3f89793f8
|
|
| MD5 |
50525c94577b6f5a42da4fe9c64508a7
|
|
| BLAKE2b-256 |
20b4ea30472bd6858dae2d217881f6f5b893233e2894118e5540b90ad6a7d0aa
|
Provenance
The following attestation bundles were made for seiscat-0.9.3.tar.gz:
Publisher:
publish-to-pypi.yml on SeismicSource/seiscat
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
seiscat-0.9.3.tar.gz -
Subject digest:
9338bfad950a1acb6156e3d0676d2047a3741269e07c760bf3bd09a3f89793f8 - Sigstore transparency entry: 1343028612
- Sigstore integration time:
-
Permalink:
SeismicSource/seiscat@214b36c4013108fbb022eae342e7046785174c1c -
Branch / Tag:
refs/tags/v0.9.3 - Owner: https://github.com/SeismicSource
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@214b36c4013108fbb022eae342e7046785174c1c -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b37bb7679ed787ce1b366c440183a7e13b14b00c4ac11bf2701fbb1d1aa83766
|
|
| MD5 |
79e7f63a80c46e013ace33b2fc98db7d
|
|
| BLAKE2b-256 |
ebbe0461a0dd28ea4b6eb96fed11236c98749773c5d5d8f7ce93347246dccbd5
|
Provenance
The following attestation bundles were made for seiscat-0.9.3-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on SeismicSource/seiscat
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
seiscat-0.9.3-py3-none-any.whl -
Subject digest:
b37bb7679ed787ce1b366c440183a7e13b14b00c4ac11bf2701fbb1d1aa83766 - Sigstore transparency entry: 1343028626
- Sigstore integration time:
-
Permalink:
SeismicSource/seiscat@214b36c4013108fbb022eae342e7046785174c1c -
Branch / Tag:
refs/tags/v0.9.3 - Owner: https://github.com/SeismicSource
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@214b36c4013108fbb022eae342e7046785174c1c -
Trigger Event:
push
-
Statement type: