specutils
Package for spectroscopic astronomical data
What it is and what it does
Specutils is an Astropy affiliated package that defines standard Python representations for astronomical spectra and provides basic tools to work with them. It is designed as a "hub" to unite the Python spectroscopy community around shared data structures and functionality, rather than as a comprehensive analysis suite. The package acts as a toolbox providing foundational pieces that can be assembled into scientific workflows or connected with other reduction pipelines and analysis tools.
The package requires Python 3.11 or later and depends on a stack of scientific libraries: numpy and scipy for numerical operations, astropy for core astronomy functionality, gwcs for world coordinate systems, and the asdf ecosystem for serialization. It is not intended to meet all possible spectroscopic analysis needs, but rather to facilitate interoperability between disparate tools through shared representations of spectroscopic data.
Use it for:
- Build custom spectroscopic analysis workflows by combining specutils data structures with domain-specific reduction pipelines
- Connect multiple spectroscopy tools and reduction packages through standardized Python representations of spectra
- Perform basic spectral operations on astronomical data using a shared community standard
- Develop higher-level spectroscopy analysis applications on top of specutils' foundational representations
- Integrate spectroscopic data from different sources into a unified Python analysis environment
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Specutils provides Python representations of astronomical spectra and basic tools to operate on them, serving as a shared foundation for spectroscopic analysis in the Python astronomy community.
Yes, if you work with astronomical spectroscopy in Python and need standard data representations to integrate multiple tools. The package is actively maintained, has low install friction, carries no known vulnerabilities, and is part of the established Astropy ecosystem. Install it as a foundation layer rather than expecting it to be a complete analysis suite—it is explicitly designed as a toolbox for building workflows, not a turnkey solution.
Install
specutils on PyPI
pip
pip install specutilsuv
uv add specutilspoetry
poetry add specutilsInstalling specutils
Before you install
Low friction installation with a pure-Python wheel. Active maintenance with a recent release 74 days ago. Depends on established scientific packages (numpy, scipy, astropy, gwcs, asdf) that are widely used and well-maintained.
License in practice
BSD 3-Clause is permissive and imposes minimal restrictions; you can use, modify, and distribute specutils in commercial or proprietary projects provided you include the license notice.
Quickstart
pip install specutils
import specutils
# Use specutils with numpy, scipy, astropy, gwcs, asdf for spectral analysis
Requires Python 3.11 or later
Verify before relying
- Specific spectroscopic analysis capabilities beyond basic operations and data representation
- Performance characteristics or scalability limits for large spectral datasets
- Compatibility with particular spectroscopy file formats or reduction pipelines
Package facts
| License | BSD 3-Clause (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — numpy, scipy, astropy, gwcs, asdf-astropy, asdf, ndcube |
| Maintenance | actively maintained — 74 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 84,840/month — #13,967 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: specutils-2.4.0-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
astroqueryAstroquery provides a Python interface to query…
permissive · top 15,000 on PyPI
libhreelsLibhreels reads, analyzes, and simulates…
unclear · top 15,000 on PyPI
photutilsPhotutils provides tools for detecting and…
permissive · top 15,000 on PyPI
pyds9pyds9 provides a Python interface to…
unclear · top 15,000 on PyPI
gwcsGWCS provides tools for managing World…
unclear · top 15,000 on PyPI
regionsRegions provides tools for defining,…
permissive · top 15,000 on PyPI
pybaselinesProvides 50+ baseline correction algorithms for…
permissive · top 15,000 on PyPI
asdf-astropyProvides ASDF serialization plugins for astropy…
unclear · top 15,000 on PyPI
astropy-healpixProvides HEALPix spherical pixelization for…
permissive · top 15,000 on PyPI
pymzmlpymzml parses mzML mass spectrometry data files…
permissive · top 15,000 on PyPI