sigpyproc#
A modern, object-oriented Python library for FRB and pulsar data analysis.
sigpyproc provides high-performance tools for manipulating pulsar and fast radio burst (FRB) data, combining a clean object-oriented API with Numba-accelerated kernels for time-critical workloads. Originally developed as a Python alternative to the SIGPROC filterbank toolbox, the project has evolved into an independent framework for structured pulsar/FRB data manipulation. Unlike full search pipelines such as SIGPROC or PRESTO, sigpyproc is not a complete searching software. Instead, it focuses on:
Precise data inspection, data format conversion and header manipulation
Fine-grained control/visualization of filterbank and time series data
Rapid experimentation prior to large-scale pipeline execution
This makes it particularly well suited for exploratory research, validation work, and a simple plug-and-play system with new modules and extensions.
Features#
Object-Oriented Design — Explicit data objects for SIGPROC filterbank, PSRFITS,
TimeSeries.High Performance — Critical paths implemented with Numba for speed without sacrificing clarity.
Structured Metadata — Explicit header schemas for metadata handling.
Modern Stack — Built with
uv, enforced withruff, and maintained with stricttytype checking.
Get Started#
Installation, environment setup, and a minimal working example.
Complete documentation of core classes, data structures, and kernels.
Utilities such as spp_header, spp_extract, and other CLI helpers.
Contributing, extending kernels, and architectural details.