--- id: doppler-dsp version: "0.42.0" license: MIT license_treatment: permissive maintenance: active --- # doppler-dsp — Practical, portable, performant digital signal processing. License: permissive · Maintenance: active · Downloads: 73.7K/mo ## What it is and what it does Doppler is a C99 digital signal processing library wrapped for Python, implementing core DSP algorithms (FFT, FIR, NCO, polyphase resampling, DDC, AGC) with support for file, buffer, and NATS-based streaming. The Python layer is a thin type-conversion and lifetime-bridging wrapper around a single C implementation, so bugs are fixed once and performance reflects real hardware. It includes a scenario-driven waveform generator (wfmgen) with byte-identical behavior across CLI, Python, and C interfaces. The package targets signal processing, software-defined radio (SDR), and scientific computing workflows where both performance and language flexibility matter. It depends only on numpy at runtime and provides pre-built wheels for Python 3.9–3.14 on macOS ARM64 and Linux x86_64/aarch64, reducing installation friction for common platforms. Use it for: - Compute FFTs and apply FIR filters to complex signal streams in real-time DSP pipelines. - Generate test waveforms (QPSK, etc.) with controlled SNR for signal processing validation. - Build SDR applications combining NCO tuning, resampling, and DDC in a single library. - Stream DSP results to NATS brokers for distributed signal monitoring and analysis. - Prototype DSP algorithms in Python with the same performance and behavior as the C implementation. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides a C99 digital signal processing library with Python bindings, offering FFT, FIR filters, NCO, polyphase resampling, DDC, AGC, and waveform generation with file, buffer, and NATS-based streaming. Yes, if you need performant DSP primitives in Python with a proven C core. The active maintenance, MIT license, no known vulnerabilities, and single lightweight runtime dependency make it low-risk. Medium install friction is offset by pre-built wheels for modern Python versions. Best suited for signal processing, SDR, and scientific computing; less relevant for general-purpose applications. ## Install pip install doppler-dsp uv add doppler-dsp poetry add doppler-dsp ## Installing doppler-dsp Before you install: Medium friction due to compiled wheels for multiple Python versions and architectures. Active maintenance with a release 7 days ago and recent commits. Single runtime dependency on numpy. License in practice: MIT license is permissive; you may use, modify, and distribute this package freely in commercial and private projects with minimal restrictions. Quickstart: pip install doppler-dsp from doppler.spectral import FFT import numpy as np x = np.random.randn(1024).astype(np.complex64) X = FFT(1024).execute_cf32(x) Requires Python 3.9 or later; pre-built wheels available for Python 3.9–3.14 on macOS ARM64 and Linux x86_64/aarch64. Verify before relying: - Whether the NATS streaming component (libdoppler_stream) is included in the PyPI wheel or requires separate installation. - Performance characteristics on specific hardware platforms beyond the Ryzen 7 AI 350 example. - Whether byte-identical CLI/Python/C parity is maintained across all algorithms or only specific ones. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 73.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags digital signal processing library, FFT and FIR filtering, DSP waveform generation, signal processing with Python, real-time DSP streaming, NCO and resampling, SDR signal processing, signal-processing, dsp, sdr [View on SkillFed](https://skillfed.io/packages/doppler-dsp) · [View on PyPI](https://pypi.org/project/doppler-dsp/)