Plugins๏ƒ

SpectroChemPy plugins add optional scientific features while keeping the core installation lighter. Once a plugin is installed, it is discovered automatically; normal user code does not need a manual loading step.

Official plugins๏ƒ

Official plugins are maintained as part of the SpectroChemPy project. They are auto-published, officially supported, and included in aggregate extras.

Install official plugins with extras:

pip install spectrochempy[nmr]
pip install spectrochempy[iris]
pip install spectrochempy[nmr,hypercomplex]

or install plugin packages directly:

pip install spectrochempy-nmr
pip install spectrochempy-iris
pip install spectrochempy-hypercomplex
pip install spectrochempy-carroucell

Conda users can install from the spectrocat channel:

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

Development (pre-release) builds are available on the dev label:

mamba install -c spectrocat/label/dev -c conda-forge spectrochempy-nmr

Using plugins๏ƒ

Plugin APIs are exposed through namespaces:

import spectrochempy as scp

dataset = scp.nmr.read_topspin("path/to/fid")
analysis = scp.iris.IRIS()

Operations that act on an existing dataset use dataset accessors:

kernel = dataset.iris.kernel_matrix(kernel_type="langmuir")
dataset.hyper.set_quaternion(inplace=True)
ri = dataset.hyper.component("RI")

Some former top-level names remain as compatibility aliases. New code should prefer namespaced APIs such as scp.nmr.read_topspin and scp.iris.IRIS.

Inspecting plugins๏ƒ

Use scp.plugins() to list discovered plugins:

import spectrochempy as scp

scp.plugins()
scp.plugins(verbose=True)

If an official optional feature is missing, SpectroChemPy raises a clear installation hint instead of failing with an import error.

Experimental plugins๏ƒ

Some plugins in the repository are considered experimental. They are available mainly for developers and early testers, may change without deprecation, and are not officially supported.

Experimental plugins are not auto-published by the official release workflows, though they may be published manually or through separate workflows. They may still be installed manually and are discoverable via the same entry-point mechanism as official plugins.

See Experimental plugins for details.

User roadmap๏ƒ

The user-facing direction is simple: official plugins should feel integrated once installed, examples should state their plugin requirements, and common core workflows should continue to work without optional plugin dependencies.

For implementation details and architecture planning, see Plugin architecture map.

Plugin pages๏ƒ