skillfed

SigMF

Easily interact with Signal Metadata Format (SigMF) recordings.

sigmf v1.11.1 74.3K downloads/30d#14,854 on PyPI461
Copyleft license GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this… (full text in the JSON record) Active released

What it is and what it does

sigmf is a Python library for reading and writing Signal Metadata Format (SigMF) recordings, which is a standard format for storing RF (radio frequency) time-series data along with associated metadata. It implements the SigMF specification and handles both raw SigMF files and compressed archives (gzip, xz, zip), as well as importing from other RF formats like WAV, CDIF, and Signal Hound Spike XML.

The library provides a simple API: load recordings with `fromfile()` or create them from numpy arrays with `fromarray()`, then access samples by index, query metadata like sample rate, and write recordings back to disk. It depends on numpy for array handling, jsonschema for metadata validation, and defusedxml for safe XML parsing. The package is compatible with Python 3.7 through 3.14 and is actively maintained.

Use it for:

  • Load RF recordings captured by software-defined radio (SDR) systems for signal analysis and processing.
  • Convert between SigMF and other signal formats (WAV, CDIF, XML) while preserving metadata.
  • Create and annotate synthetic RF time-series data with frequency, timestamp, and capture metadata.
  • Read compressed signal archives without manual decompression.
  • Validate signal metadata against the SigMF specification using jsonschema.
  • Build gnuradio-compatible signal workflows that require standardized metadata.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Reads and writes Signal Metadata Format (SigMF) recordings, supporting multiple compression formats and RF time-series file types including WAV, CDIF, and XML.

Yes. sigmf is production-stable (Development Status 5), actively maintained, has no known vulnerabilities, and installs with low friction. The copyleft license is standard for signal-processing tools in the radio/gnuradio ecosystem. Install it if you work with RF recordings or need to read/write SigMF files.

Install

sigmf on PyPI

pip

pip install sigmf

uv

uv add sigmf

poetry

poetry add sigmf

Installing SigMF

Before you install

Low friction: pure Python wheel with three lightweight runtime dependencies (numpy, jsonschema, defusedxml). Actively maintained with a commit as recent as 2026-01-13 and no known vulnerabilities.

License in practice

Licensed under GNU Lesser General Public License v3 or later (copyleft). You may use and modify sigmf in proprietary applications, but modifications to sigmf itself must be shared under the same license.

Quickstart

pip install sigmf

import sigmf

# Read SigMF recording
meta = sigmf.fromfile("recording.sigmf-meta")
samples = meta[0:1024]
sample_rate = meta.sample_rate

# Write SigMF
import numpy as np
data = np.array([0.1 + 0.2j, 0.3 + 0.4j], dtype=np.complex64)
meta = sigmf.fromarray(data)
meta.tofile("recording")

Package facts

License GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this… (full text in the JSON record) (copyleft)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 3 — numpy, jsonschema, defusedxml
Maintenance actively maintained — 76 days since the last release
Last repo commit
First released
Downloads 74,282/month — #14,854 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: sigmf-1.11.1-py3-none-any.whl

Keywords: gnuradio, radio

Development Status :: 5 - Production/StableLicense :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)Operating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Communications :: Ham RadioTopic :: Scientific/Engineering

Tags

signal metadata format librarysigmf recording reader writerRF time series metadatagnuradio signal formatcompressed signal archiveWAV metadata extractionradio signal recording
signal-processingradio-frequencymetadata-format

More Scientific/Engineering packages