CMD + K

spectrochempy

Community

Processing, analysis and modelling Spectroscopic data for Chemistry with Python

Installation

To install this package, run one of the following:

Conda
$conda install spectrocat::spectrochempy

Usage Tracking

0.10.3
0.10.2
0.10.1
0.10.0
0.9.3
5 / 8 versions selected
Downloads (Last 6 months): 0

Description


SpectroChemPy

Tests Actions Status codecov Conda PyPI version Docs DOI Conda

What is SpectroChemPy?

SpectroChemPy (SCPy) is a framework for processing, analyzing, and modeling spectroscopic data for chemistry with Python. It is cross-platform (Linux, Windows, macOS) and combines a lightweight scientific core with optional plugins for domain-specific workflows.

Its central object, NDDataset, provides numerical data together with coordinates, units, masks, labels, provenance, and metadata, making it easier to build reproducible spectroscopy workflows in Python.

Key Features

  • Core Data Structure: NDDataset with coordinates, units, masks, labels, provenance, and metadata
  • Project Management: Organize and manipulate multiple datasets within a Project
  • Data Processing:
    • Unit-aware mathematical operations
    • Baseline correction, automatic subtraction, interpolation, FFT workflows
    • Core processing with plugin-specific extensions where appropriate
  • Analysis Tools:
    • SVD, PCA, MCR-ALS, EFA, PLS, fitting, and related result objects
  • I/O and Interoperability:
    • Import from major spectroscopy and scientific data formats
    • Export to lightweight interchange formats such as CSV and JCAMP-DX
    • Portable NDDataset ↔ xarray.Dataset ↔ NetCDF round-trips for the maintained portable subset
    • Safe native .scp / .pscp persistence by default, with explicit legacy opt-in only for historical trusted archives
  • Plugin System:
    • Automatic discovery of optional plugins
    • Namespaced APIs: scp.nmr.read_topspin(...), scp.iris.IRIS()
    • Dataset accessors for plugin-bound operations

Official Plugins

Extend SpectroChemPy with official plugins (installed separately):

| Plugin | Install | What it provides | |--------|---------|------------------| | spectrochempy-carroucell | pip install spectrochempy-carroucell | Carroucell experiment reader | | spectrochempy-hypercomplex | pip install spectrochempy-hypercomplex | Quaternion / hypercomplex support | | spectrochempy-iris | pip install spectrochempy-iris | 2D-IRIS analysis tools | | spectrochempy-nmr | pip install spectrochempy-nmr | Bruker TopSpin reader, NMR-specific processing | | spectrochempy-tensor | pip install spectrochempy-tensor | Tensor learning tools |

Or via conda from the spectrocat channel (conda-forge provides the dependencies):

mamba install -c spectrocat -c conda-forge spectrochempy-nmr

Plugins are discovered automatically once installed — no manual loading step required.

Experimental plugins

spectrochempy-cantera is available as an experimental plugin. It is not officially supported, not included in aggregate extras, and must be installed manually::

pip install spectrochempy-cantera

⚠️ WARNING: SpectroChemPy is under active development. The current design may undergo major changes. Please report any issues to our Issue Tracker.

Quick Links

For contributors

If you want to contribute, start with:

Maintainer-specific release and architecture notes live in maintainers/.

License

CeCILL-B FREE SOFTWARE LICENSE AGREEMENT

About

Summary

Processing, analysis and modelling Spectroscopic data for Chemistry with Python

Last Updated

Jun 23, 2026 at 22:13

License

LicenseRef-CeCILL-B

Supported Platforms

noarch