seedlink-client
SeedLink protocol client for streaming geophysical (seismic) data, with transparent support for both SeedLink 3.x and 4.0. SeedLink is a real-time streaming protocol used by seismological data systems (e.g. SeisComP, EarthScope's ringserver) to deliver miniSEED data as it is recorded.
Requires Python 3.11+.
Installation
pip install seedlink-client
Usage
Sync API
from seedlink_client import SeedLink
with SeedLink("rtserve.earthscope.org") as sl:
sl.add_stream("IU_COLA", "BH?")
for packet in sl.collect():
print(packet.station_id, packet.seqnum, len(packet.payload))
Async API
AsyncSeedLink offers the same API as SeedLink, built on asyncio. Only the methods that
do network I/O (connect, collect, info, ...) are coroutines; stream selection (add_stream
and friends) is plain configuration and stays synchronous on both clients:
import asyncio
from seedlink_client import AsyncSeedLink
async def main():
async with AsyncSeedLink("rtserve.earthscope.org") as sl:
sl.add_stream("IU_COLA", "BH?")
async for packet in sl.collect():
print(packet.station_id, packet.seqnum, len(packet.payload))
asyncio.run(main())
Protocol versions
SeedLink/AsyncSeedLink negotiate SeedLink 3.x or 4.0 automatically from the server's HELLO
reply and speak whichever is offered -- selectors, sequence numbers, time windows, and INFO
queries all work the same way from the caller's side regardless of which protocol is in use. Pass
protocol=Protocol.V3 or Protocol.V4 to pin a version instead of negotiating.
Packets carry their payload as raw bytes; call packet.record() to decode it as a
pymseed MS3Record.
Command-line client
A non-interactive client is available after install:
seedlink-client [host:port]
Default is localhost:18000. Use seedlink-client --help for options (stream selection, time
windows, state files, INFO queries, TLS, auth). Pass -c/--interactive for a low-level
interactive shell that sends individual protocol commands (HELLO, STATION, SELECT, DATA,
INFO, ...).
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 seedlink_client-0.1.0.tar.gz.
File metadata
- Download URL: seedlink_client-0.1.0.tar.gz
- Upload date:
- Size: 41.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7144f0900d683ceccd600dc5e4959a65f7a32e2e82e1ad4c657dd199d0cf2c15
|
|
| MD5 |
a30adae49d100e0497d1e2b4d51ff2b7
|
|
| BLAKE2b-256 |
1f51c5d1920f45610a9a5bcd2c4ad711d6fa883e854b1ab7da5cbc129ae33619
|
Provenance
The following attestation bundles were made for seedlink_client-0.1.0.tar.gz:
Publisher:
publish.yml on EarthScope/seedlink-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
seedlink_client-0.1.0.tar.gz -
Subject digest:
7144f0900d683ceccd600dc5e4959a65f7a32e2e82e1ad4c657dd199d0cf2c15 - Sigstore transparency entry: 2338203681
- Sigstore integration time:
-
Permalink:
EarthScope/seedlink-client@b5c5c356dbfa07e3d5a84a2348f50b9ca70fa77a -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/EarthScope
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b5c5c356dbfa07e3d5a84a2348f50b9ca70fa77a -
Trigger Event:
release
-
Statement type:
File details
Details for the file seedlink_client-0.1.0-py3-none-any.whl.
File metadata
- Download URL: seedlink_client-0.1.0-py3-none-any.whl
- Upload date:
- Size: 49.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
736c78ecec5a1acd0457e19bd1f66e43fa970a575f65d142b8df5af24901b545
|
|
| MD5 |
405b09613dda4edbd2109e5797937b33
|
|
| BLAKE2b-256 |
5af21e2ce766170444c0b687879ef95d0f7f747fd85986160be1618772f015fa
|
Provenance
The following attestation bundles were made for seedlink_client-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on EarthScope/seedlink-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
seedlink_client-0.1.0-py3-none-any.whl -
Subject digest:
736c78ecec5a1acd0457e19bd1f66e43fa970a575f65d142b8df5af24901b545 - Sigstore transparency entry: 2338203688
- Sigstore integration time:
-
Permalink:
EarthScope/seedlink-client@b5c5c356dbfa07e3d5a84a2348f50b9ca70fa77a -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/EarthScope
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b5c5c356dbfa07e3d5a84a2348f50b9ca70fa77a -
Trigger Event:
release
-
Statement type: