Install¶
pip install signal-dataset
Or with uv:
uv add signal-dataset
Storage extras¶
The base install reads and writes local filesystem roots. Cloud backends are extras, so their client libraries are not pulled in unless you ask for them:
pip install 'signal-dataset[gcs]' # gs:// roots, via google-cloud-storage
pip install 'signal-dataset[s3]' # s3:// roots, via boto3
The uv equivalents are uv add 'signal-dataset[gcs]' and uv add 'signal-dataset[s3]'.
If you open a gs:// or s3:// root without the matching extra, the error names the extra and the
command to fix it, rather than failing on a missing import deep in a call stack:
GCS access requires the 'gcs' extra; install with `pip install 'signal-dataset[gcs]'`
Supported environments¶
Supported |
|
|---|---|
Python |
3.11, 3.12, 3.13 |
Operating system |
Linux, macOS |
Windows is not supported. Atomic publication depends on POSIX filesystem primitives:
os.link, fcntl.flock, directory fsync, and the behaviour of an unlinked open file. Those are
what make a published snapshot appear all at once, so this is a correctness constraint rather than
a packaging gap. See why signal-dataset.
macOS is supported but is not covered by continuous integration, so run the test suite locally if you are developing on it.
Verifying the install¶
import signal_dataset as sds
print(sds.__version__)
Then follow the quickstart.