skillfed

PeakUtils

Peak detection utilities for 1D data

peakutils v1.3.5 75.8K downloads/30d#14,680 on PyPI
Permissive license MIT DORMANT released

What it is and what it does

PeakUtils is a signal processing library focused on locating and characterizing peaks in one-dimensional data. It provides functions to estimate signal baselines, identify peak positions by index, and refine peak locations using Gaussian fitting or centroid calculation. The library sits on top of numpy and scipy, making it suitable for scientific and engineering workflows where precise peak localization matters—spectroscopy, chromatography, time-series analysis, and similar domains.

The package is stable and has been in production use since 2014, though it is no longer actively maintained. It targets straightforward peak-finding tasks where you need both the raw peak indices and optionally higher-resolution position estimates. Installation is lightweight, and the API is minimal, making it easy to integrate into existing analysis pipelines.

Use it for:

  • Locate absorption or emission peaks in spectroscopic data and refine their positions with Gaussian fitting
  • Detect chromatography peaks and compute their centroids for quantitative analysis
  • Find local maxima in time-series or sensor data and estimate their true positions
  • Estimate and remove baseline drift before peak detection in noisy signals
  • Identify multiple peaks in a single pass and rank them by prominence or height

Worth the install?

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

PeakUtils detects peaks in 1D data and refines their positions through baseline estimation, Gaussian fitting, and centroid computation.

Yes, if your peak-detection task is straightforward and you are comfortable with a dormant but stable library. The low install friction, permissive license, and proven track record make it a reasonable choice for standard 1D peak finding. However, verify compatibility with your current numpy and scipy versions, and consider whether the library's Gaussian and centroid methods suit your data. If you need active maintenance or advanced features, evaluate alternatives.

Install

peakutils on PyPI

pip

pip install peakutils

uv

uv add peakutils

poetry

poetry add peakutils

Installing PeakUtils

Before you install

Low friction install with only numpy and scipy as runtime dependencies. Package is dormant (778 days since last release) but marked Production/Stable; no active maintenance signal.

License in practice

MIT license permits commercial and private use with minimal restrictions; attribution required but no copyleft obligations.

Quickstart

import numpy as np
import peakutils

data = np.array([0, 1, 3, 2, 1, 0])  # 1D signal
indexes = peakutils.indexes(data, thres=0.3, min_dist=1)
print(indexes)  # Peak indices

Verify before relying

  • Whether the package still works reliably with current numpy/scipy versions despite dormancy
  • Whether Gaussian fitting and centroid computation are suitable for your specific peak shape and noise profile

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 2 — numpy, scipy
Maintenance dormant — 778 days since the last release
First released
Downloads 75,808/month — #14,680 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: PeakUtils-1.3.5-py3-none-any.whl

Keywords: peak, detection, search, gaussian, centroid, baseline, maximum

Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Scientific/Engineering

Tags

peak detection 1d datafind peaks in signalgaussian peak fittingbaseline estimation signalcentroid peak detectionpeak localization algorithmsignal processing peaks
signal-processingpeak-detectionspectroscopy

More Scientific/Engineering packages