PeakUtils
Peak detection utilities for 1D data
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; attribution required but no copyleft obligations.
last release 2024-06-27 (778 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 75,808 downloads/mo, #14,680 on PyPI
Alternatives
Verify before relying
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- 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
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 on it.
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
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 packagesnumpyscipy |
| 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 |
| Classifiers | Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Scientific/Engineering |
Evidence: PeakUtils-1.3.5-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “peak detection 1d data”
- PeakUtilsPeakUtils detects peaks in 1D data and refines their positions…
- pybaselinesProvides 50+ baseline correction algorithms for experimental data…
- pyStrichpyStrich generates 1D and 2D barcodes (Code 39, Code 128, EAN-13,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also pybaselines · pyPPG · gstools · spglm · iminuit · neurokit2 · pwlf · photutils · PyWavelets · gmr