Skip to main content

PNWstore: Pacific Northwest Storage

DOI License: MIT PyPI Version

This is a python-based seismic data query and selection toolbox for Denolle-lab members. The server runs at https://pnwstore1.ess.washington.edu/ and is only accessible within the UW network. More details about the data and the server can be found in the documentation.

What data are in pnwstore?

Why use this package?

  1. The waveforms stored in .mseed are indexed with mseedindex, which would dramatically improve data loading efficiency. This is very useful especially when working with large amounts of data.
  2. .xml files contain all events and station metadata, but loading and parsing them requires extra time. It is recommended to extract key informations and index them in a database system.
  3. The pnwstore client emulates the ObsPy FDSN client so that transition to the local data requires little changes to the codebase.

Usage

Get waveform data

from obspy import UTCDateTime
from pnwstore import WaveformClient
client = WaveformClient()

starttime = UTCDateTime("2020-01-01T00:00:00")
endtime = starttime + 3600
s = client.get_waveforms(network="UW", station="SHW", channel="EH?",
                         starttime=starttime, endtime=endtime)

Get event catalog

from obspy import UTCDateTime
from pnwstore import EventClient

client = EventClient(USERNAME, PASSWORD)

client.query(mintime = UTCDateTime("1980-01-01T00:00:00"),
             maxtime = UTCDateTime("2021-01-01T00:00:00"),
             minlatitude = 40,    maxlatitude = 50,
             minlongitude = -128, maxlongitude = -120,
             minmagnitude = 5.9)

# A pandas DataFrame is returned.
#   source_id   origin_timestamp year month day doy hour minute second  microsecond latitude longitude  depth  magnitude contributor number_of_pick
# 0 uw10313718  748582000.0      1993 9     21  264 3    26     55      630000      42.316    -122.027  8.560  5.9       uw          380
# 1 uw10313838  748590000.0      1993 9     21  264 5    45     35      230000      42.358    -122.058  8.530  6.0       uw          427
# 2 uw10530748  983386000.0      2001 2     28  59  18   54     32      830000      47.149    -122.727  51.798 6.8       uw          98

Get picks

from obspy import UTCDateTime
from pnwstore import PickClient

client = PickClient(USERNAME, PASSWORD)

client.query(network = "UW", station = "SHW", phase = "P*",
             mintime = UTCDateTime("2000-01-01"),
             maxtime = UTCDateTime("2000-01-10"))

# A pandas DataFrame is returned.
#   pick_id   source_id network station location channel    timestamp  year month day doy  hour  minute  second  microsecond phase evaluation_mode uncertainty  backazimuth contributor
# 0 1133412  uw10485733      UW     SHW       --     EHZ  947343000.0  2000   1    8    8    14      57      23       680000     P          manual   0.05         79.0          UW
# 1 1133508  uw10485213      UW     SHW       --     EHZ  947142000.0  2000   1    6    6     6      52      56       790000     P          manual   0.08         63.6          UW
# 2 1133612  uw10484688      UW     SHW       --     EHZ  946890000.0  2000   1    3    3     9       0      14       280000     P          manual   0.22        222.1          UW

Get station metadata

from obspy import UTCDateTime
from pnwstore import StationClient

client = StationClient(USERNAME, PASSWORD)
client.query(network = "UW", channel = "EH?",
             mintime = UTCDateTime("2010-01-15"),
             maxtime = UTCDateTime("2000-01-16"))

# A pandas DataFrame is returned.
#    channel_id network station location channel  latitude  longitude elevation  depth     starttime       endtime sampling_rate azimuth
# 0       45376      UW     SHW       --     EHZ   46.1935   -122.236   1425.00   0.00   867283200.0  1207008000.0      100.0000    None
# 1       45377      UW     SHW       --     EHZ   46.1935   -122.236   1425.00   0.00  1207008000.0  1536105600.0      100.0000    None

Reference

Metadata

Release files for pnwstore 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pnwstore 0.2.1
File Size Uploaded Provenance
pnwstore-0.2.1.tar.gz 11.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pnwstore 0.2.1
File Interpreter ABI Platform
pnwstore-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.4 kB

Release files / pnwstore-0.2.1.tar.gz

Download URL pnwstore-0.2.1.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8b5bd1cc15f8f7aa90c3a3046c9c53d89009f64f4795100877f0528fe3daa291
BLAKE2b-256 checksum
How to use checksums
a034b687bf42ad470aa40d7b479e2eb31a0e0455864ca510537654deae880be6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 2, 2026.

Transparency log

Release files / pnwstore-0.2.1-py3-none-any.whl

Download URL pnwstore-0.2.1-py3-none-any.whl
Size 11.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
28fbb8bb0c6796c5f425db4e855965f7043f1ba647c5e7e13878048a0364af97
BLAKE2b-256 checksum
How to use checksums
34de99fde431084aad38ccd44188acb86c2771071243859a86884e7c0c43c0e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 2, 2026.

Transparency log

Security for pnwstore 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pnwstore-0.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page