Spectrochempy

Latest version: v0.8.1

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 8

0.8.1

New Features

This version mainly add new functionalities with reading of SPC format files:

* `read_spc()` now supports reading SPC files with multiple spectra
* `read_spc()` now supports reading SPC files in old format (Spectra Calc® and Lab Calc®)

Bug Fixes

* New features listed above fix issues 849 and 771.

0.8.0

New Features

* **Lazy Import Mechanism**: SpectroChemPy now uses a lazy import mechanism to improve startup time.

- **Optimized Import Process**: When importing SpectroChemPy, only a minimal set of packages and functions is loaded initially.
- Additional functionality is loaded on demand when first accessed.

This approach does not reduce the overall loading time but significantly improves the initial import speed.
It is particularly beneficial for notebook workflows, where the first execution cell runs much faster.

* Markersize for PCA score and screeplots customizable. (Feature request 841)

example:

python

... existing code ...

ScreePlot
prefs = scp.preferences
prefs.lines.markersize = 7
pca.screeplot()

Score Plot
prefs.lines.markersize = 10
pca.scoreplot(scores, 1, 2)

Dependency Updates

* ``lazy-loader`` package is required
* ``numpydoc`` package has been added to required dependency list.

Breaking Changes

* **Global Preferences**: SpectroChemPy preferences are now global, so there is no need to store them in `NDDataset` objects.
As a result, the `"preferences"` attribute has been removed from `NDDataset`.

This means that old scripts written like the following:

python

import spectrochempy as scp

... existing code ...

prefs = X.preferences where X is an NDDataset, and preferences is an attribute of NDDataset
prefs.figure.figsize = (7, 3)

... existing code ...

should be modified as follows:

python

import spectrochempy as scp

... existing code ...

prefs = scp.preferences Preferences are now accessed directly from the "scp" object
prefs.figure.figsize = (7, 3)

... existing code ...

* **Impact of Lazy Loading on Method Calls**: Some methods that were previously accessible as class methods are now only available as API or instance methods.
This is because class methods are not loaded until the class is instantiated.

For example, the following will no longer work:

python

NDDataset.read("something") ❌ This will no longer work

Instead, use one of the following:

python

scp.read("something") ✅ API method
scp.NDDataset().read("something") ✅ Instance method

Code should be updated accordingly.

0.7.2

New features

- The `readonly` attribute of the Meta object now applies to all nested objects.
- More concise HTML output in Jupyter notebooks with collapsible sections. Use CSS for styling.
- The merging behavior of NDDataset objects has been improved. Now, several groups of datasets are returned if files are not compatible.
Note that merging is the default. To enforce non-merging of compatible files, use the `merge` keyword set to False in `read_*` calls.
- `read_opus()` has been revised and now uses the `brukeropus` package developed by Josh Duran
(`<https://github.com/joshduran/brukeropus>`_). It can read most of the spectra types contained in OPUS files,
as reference experiments and not only AB type spectra as previously.
- Import/Export tutorials have been updated to reflect the new `brukeropus` package.
- `read_dir()` (as well as the equivalent `read()`) has a new keyword argument `pattern` to filter files to read in a directory.
- Text output of the `plot()` method is now suppressed in Jupyter notebooks, i.e.,

.. code-block:: ipython

ds.plot()

will no longer display the text output of the `plot` method but the plot alone.

Bug fixes

- Fix the `readonly` attribute of `Meta` objects used to contain dataset metadata.

Dependency updates

- Removed `brukeropusreader` package dependency.

Breaking changes

- The new merging behavior of datasets may require some changes in the notebooks and scripts using `read_*` methods.

Deprecations

- The open/save dialog box functionality in `read_*` methods is deprecated and will be removed in version 0.8.
This feature has been removed from the documentation.

0.7.1

Bug fixes

* Bug 696. Subtraction/Addition of multicoordinates works transparently
* Bug 827. The git installation in non-developper usage of spectrochempy is no more needed.

0.7.0

These are the changes in SpectroChemPy-0.7.0.

New features

* Improvement of the installation process using pip.
One can now install the package using command
like `pip install spectrochempy[cantera]` to install the package with the cantera
the `cantera` dependencies,
or `pip install -e ".[dev]"` to install the package with the
development dependencies and in editable mode.
* Now support installation on the last version (3.10) of Google Colab.
* Add a `show_version` script executable from a terminal.
* Revision/update of the documentation to improve the user experience.

Bug fixes

* Bug 777. Now `scp.show_version()`` works as expected

Dependency updates

* Major Python compatibility updates:
- Now supports Python 3.13
- Minimum Python version increased to 3.10
- Dropped support for Python 3.9 and below

* New installation options:
- Updated [dev], [test], and [docs] extras with latest versions
- All dependencies now specify minimum versions for better compatibility

Breaking changes

* Minimum Python version requirement increased to 3.10
* Several core dependencies require major version updates
* Installation process changes with new dependency groups

0.6.10

Page 1 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.