seedlink-client
SeedLink protocol client for streaming geophysical (primarily 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, SLPROTO, STATION,
SELECT, DATA, INFO, ...) -- unlike the non-interactive client, it does not send HELLO or
negotiate a protocol version on its own; type HELLO, then SLPROTO 4.0 to upgrade if the
server supports v4 (HELP shows a full example). END (or, in v3 uni-station mode,
DATA/FETCH/TIME with no prior STATION) finishes the handshake and starts printing packets
as they arrive, until Enter or Ctrl-C.
Metadata
Release files for seedlink-client 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| seedlink_client-0.2.0.tar.gz | 71.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| seedlink_client-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 129.9 kB
Release files / seedlink_client-0.2.0.tar.gz
| Download URL | seedlink_client-0.2.0.tar.gz |
|---|---|
| Size | 71.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4c9b1a21f6e02b3a53d4c423e30e2316eb019e228faee326d15dac1a9e089a1
|
|
BLAKE2b-256 checksum How to use checksums |
0cfd7b157396ab871fedc8df08d2e2bb08fb96c637e25b817ef3b11c33ec3cd3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 9, 2026.
Transparency logRelease files / seedlink_client-0.2.0-py3-none-any.whl
| Download URL | seedlink_client-0.2.0-py3-none-any.whl |
|---|---|
| Size | 58.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2afa49243af2ec3abe6b914b37d866e9a11fef3ae1d1f0d48d4519cd1d84e7a2
|
|
BLAKE2b-256 checksum How to use checksums |
cf239656f62a5c096bac9dd6a6ad263805cdff56182b6ffd3e97176417e04090
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 9, 2026.
Transparency log