Skip to main content

Signal Dataset

Immutable, indexed storage for multidimensional signal records on local filesystems and GCS. Numerical fields use SafeTensors; ArrayRecord provides random access.

Status: experimental 0.x software. The Python API may make documented breaking changes between minor releases. Persisted-format compatibility is versioned separately.

import numpy as np
import signal_dataset as sds

record = sds.Record(
    id="capture-0042",
    fields={
        "iq": sds.Field(
            np.zeros((4, 4096), dtype=np.complex64),
            axes=(sds.Axis("channel", 4), sds.Axis("time", 4096)),
        )
    },
    metadata={"sample_rate_hz": 20_000_000},
)

shard = sds.write_shard([record], "captures.sds", work_id="worker-000")
dataset = sds.publish(
    "captures.sds",
    [shard],
    dataset_id="captures",
    snapshot_id="run-001",
)

assert dataset[0].id == "capture-0042"
assert dataset.record_metadata[0]["iq"].shape == (4, 4096)

dataset.record_metadata[index] reads the aligned metadata shard without fetching signal tensors. Readers follow generation-pinned manifests and never list directories or GCS prefixes.

See the quickstart, annotation example, and distributed-writing guide.

Install

uv add signal-dataset
uv add 'signal-dataset[gcs]'  # GCS transport

Equivalent pip commands are pip install signal-dataset and pip install 'signal-dataset[gcs]'.

Python 3.11–3.13 on Linux and macOS are supported. Windows is not currently supported because the local atomic-publication implementation uses POSIX filesystem primitives.

Design

  • Immutable, root-last publication: readers observe no dataset or a complete snapshot.
  • Lazy ordinal random access without directory or bucket-prefix discovery.
  • Tensor-free aligned metadata reads.
  • Storage and shard-container extension contracts.
  • Profile-free records: no modality, training framework, or split policy is embedded in the core.

The project does not provide mutable datasets, distributed scheduling, authorization, retention, or batching policy. See the architecture, format compatibility contract, and roadmap.

Signal Dataset is use-case agnostic. It has no training-framework, modality, or split-policy dependency.

Community

Read CONTRIBUTING.md before proposing changes. Use GitHub Issues for reproducible bugs and design discussion, and follow SECURITY.md for private vulnerability reports. Participation is governed by the Code of Conduct.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

signal_dataset-0.2.0.tar.gz (149.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

signal_dataset-0.2.0-py3-none-any.whl (54.0 kB view details)

Uploaded Python 3

File details

Details for the file signal_dataset-0.2.0.tar.gz.

File metadata

  • Download URL: signal_dataset-0.2.0.tar.gz
  • Upload date:
  • Size: 149.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for signal_dataset-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e78e813f563fa794eef746480d3073790e93d6b5a604aab124490820628835df
MD5 7697c491d2afbc8478dd44324507db2b
BLAKE2b-256 1cf50db53c886eeaf1c78f5184f0773f32dbdcf3a428b208e907f8be04505aad

See more details on using hashes here.

File details

Details for the file signal_dataset-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: signal_dataset-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 54.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for signal_dataset-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 17b8190cc39308afae653b13f85ef89bcb097dfddb2727c44d3e53408bb2c640
MD5 660532441485357a8af2bccc706d3b03
BLAKE2b-256 25051df25dafc86c1240dfad8f487389afce071f8c5ce913e04ca1c76f0d47e8

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.0

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

This release

0.2.0 This release

2 files

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