Skip to main content

clear-dsp

A lightweight JAX-optimized package of pure functions for digital signal processing.

clear-dsp provides a clean, functional, and high-performance set of DSP primitives built on JAX. Every function is pure, JIT-compatible, and designed for composition, autodiff, and acceleration on CPU, GPU, or TPU.

Design Principles

  • Pure functions only — no classes, no mutable state, no side effects
  • JAX-native — fully compatible with jax.jit, jax.vmap, jax.grad, and jax.pmap
  • Lightweight — minimal dependencies (just JAX)
  • Composable — small, focused building blocks that combine cleanly
  • Type-safe — full type annotations and mypy-friendly

Installation

pip install clear-dsp

Or for development:

git clone https://github.com/yourusername/clear-dsp.git
cd clear-dsp
pip install -e ".[dev]"

Quick Start

import jax.numpy as jnp
from clear_dsp import filters, spectral

# Example: simple low-pass FIR filter (placeholder API)
# signal = jnp.sin(jnp.linspace(0, 10 * jnp.pi, 1000))
# filtered = filters.fir_lowpass(signal, cutoff=0.1, num_taps=51)

Note: The API is under active development. Check the source and tests for currently implemented functions.

Project Structure

clear-dsp/
├── src/
│   └── clear_dsp/
│       ├── __init__.py
│       ├── filters.py      # FIR/IIR filters, windowing
│       ├── spectral.py     # FFT-related, spectrograms, STFT
│       ├── windows.py      # Window functions
│       └── ...
├── tests/
├── pyproject.toml
└── README.md

Development

# Install with development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Lint
ruff check src tests

# Type check
mypy src

Roadmap (initial ideas)

  • Window functions (Hann, Hamming, Blackman, Kaiser, etc.)
  • FIR filter design and application
  • Basic IIR filters (biquads)
  • STFT / ISTFT
  • Spectral analysis helpers
  • Convolution and correlation
  • Resampling
  • Envelope detection / Hilbert transform
  • Signal analysis

Contributions and suggestions are welcome!

License

MIT License — see LICENSE.

Metadata

Release files for clear-dsp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clear-dsp 0.1.0
File Size Uploaded Provenance Actions
clear_dsp-0.1.0.tar.gz 4.6 kB Without provenance Details for clear_dsp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for clear-dsp 0.1.0
File Interpreter ABI Platform Actions
clear_dsp-0.1.0-py3-none-any.whl Python 3 none any Details for clear_dsp-0.1.0-py3-none-any.whl

Total release size: 9.3 kB

Release files / clear_dsp-0.1.0.tar.gz

Download URL clear_dsp-0.1.0.tar.gz
Size 4.6 kB
Tags Source
SHA-256 checksum
How to use checksums
fe007837d12df99de2f440efd23069a7de3f4d0d7fc2b36c9f4dad6b5afa9584
BLAKE2b-256 checksum
How to use checksums
732cf85b4581c5b7b27139bc6f5a6176fb91f25da9c9c3c3bb1a1d362abb0b89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Release files / clear_dsp-0.1.0-py3-none-any.whl

Download URL clear_dsp-0.1.0-py3-none-any.whl
Size 4.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab3abf576d3a555e5c089ecedbcd0198d94c9530ab7176acddc7ba51d1199186
BLAKE2b-256 checksum
How to use checksums
26d39caefe659c8158abfac3abe4fabc6bb0a3b6aea2b62941f1f92675311dd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Security for clear-dsp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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