Freedom251 › Statistical Analysis Software
Fitspy

What Fitspy is
Fitspy is a spectral-fitting tool for working with spectra without tying analysis to a particular physical quantity or database. It can read single one-dimensional spectra and spectra arranged in two-dimensional maps, with imports that include .txt, .dm3, .dm4, .emd, .hspy, .nxs, .h5, .h4, .hdf, and NXCanSAS-related files. Peak options include Gaussian, Lorentzian, asymmetric Gaussian, asymmetric Lorentzian, and Pseudovoigt models; users can also define models with expressions or Python scripts. Baselines may be drawn manually or handled with the semi-automatic ARPLS algorithm.
Fitspy uses the lmfit package and supports multiprocessing, parameter bounds, and constraints. It can turn off peak models in noisy regions and detect outliers, a feature particularly suited to 2D-map spectra. The GUI is available in Tkinter and PySide versions, with future fixes and updates focused mainly on PySide. GUI workflows can also be scripted; saved models can be replayed or applied to other datasets. The CEA-MetroCarac organization, which describes its work as metrology and characterization activities at the French Alternative Energies and Atomic Energy Commission, distributes Fitspy under GPLv3. It is free desktop software for Linux, macOS, and Windows, requires Python 3.9 or later, and is recommended for installation through PyPI with `pip install fitspy`.
Who it suits
Fitspy suits researchers and other users fitting spectra, including those handling either a few spectra through the GUI or batches of thousands or more through Python. It is relevant when work calls for configurable peak models, baseline handling, or automation across datasets.
What it does well
- Free and distributed under GPLv3.
- Runs on Linux, macOS, and Windows.
- Reads single spectra and 2D-map spectra.
- Offers five predefined peak model types.
- GUI workflows can also be performed with Python scripts.
- Supports multiprocessing, parameter bounds, and constraints.
What to know first
- Requires Python 3.9 or later.
- User-defined models start all parameters at 1, which can impair convergence.
- Future fixes and updates focus primarily on the PySide interface.
Limits
User-defined models initialize all parameters to 1, which can lead to poor convergence. Fitspy requires Python 3.9 or later.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Fitspy | Open-source Python package; spectral fitting tool | Free |
As github.com lists them, read 12 Oct 2026. The maker's own page has the final word.
Getting started
- Install Python 3.9 or later.
- Install Fitspy from PyPI with `pip install fitspy`, or use the documented GitHub installation route.
- Choose the Tkinter or PySide GUI, or use Python scripts for batch workflows.
- Import supported spectra files and configure peak models and baselines.
Verdict
Choose Fitspy if you need a free spectral-fitting tool that supports both GUI work and Python batch workflows. Its broad import support, customizable models, and 2D-map outlier detection are useful for varied fitting tasks. Allow for Python 3.9 or later, and take care with user-defined models because their parameters initialize at 1 and may converge poorly.
Questions
How much does Fitspy cost?
Fitspy is free. Its plan is listed as free.
What operating systems does Fitspy support?
Fitspy is desktop software for Linux, macOS, and Windows.
What file formats can it read?
Supported formats include .txt, .dm3, .dm4, .emd, .hspy, .nxs, .h5, .h4, .hdf, and NXCanSAS-related files.
Can I automate fitting with Python?
Yes. Python scripts can perform GUI workflows, and saved models can be replayed or applied to other datasets.
What license does Fitspy use?
Fitspy is distributed under GPLv3.
Who makes Fitspy?
It is distributed by CEA-MetroCarac, which describes itself as the Metrology and Characterization activities at the French Alternative Energies and Atomic Energy Commission.
Facts from Fitspy's own pages
- Automation
- GUI workflows can be performed with Python scripts, and saved models can be replayed or applied to other datasets. · github.com, 12 Oct 2026
- Baselines
- Fitspy supports manually defined baselines and a semi-automatic ARPLS baseline algorithm. · cea-metrocarac.github.io, 12 Oct 2026
- Custom models
- Users can define models using literal expressions or Python scripts. · cea-metrocarac.github.io, 12 Oct 2026
- Data formats
- Fitspy reads single 1D spectra and 2D-map spectra, and supports formats including DM3, DM4, EMD, HSPY, NXS, and NXCanSAS-related HDF files. · cea-metrocarac.github.io, 12 Oct 2026
- Data import formats
- .txt; .dm3; .dm4; .emd; .hspy; .nxs; .h5; .h4; .hdf; NXCanSAS · github.com, 23 Sept 2026
- Deployment
- desktop · github.com, 23 Sept 2026
- Fitting engine
- Fitspy performs fitting using the lmfit package and supports multiprocessing, parameter bounds, and parameter constraints. · cea-metrocarac.github.io, 12 Oct 2026
- Free plan
- Yes · github.com, 23 Sept 2026
- Installation
- The maker recommends installation from PyPI with `pip install fitspy`; installation from GitHub is also documented. · github.com, 12 Oct 2026
- Interfaces
- Fitspy offers a Tkinter GUI and a newer PySide GUI, with future fixes and updates focused primarily on PySide. · cea-metrocarac.github.io, 12 Oct 2026
- License and requirement
- Fitspy is distributed under GPLv3 and requires Python 3.9 or later. · pypi.org, 12 Oct 2026
- Limits
- User-defined models initialize all parameters to 1, which the documentation says can lead to poor convergence. · cea-metrocarac.github.io, 12 Oct 2026
- Maker
- The CEA-MetroCarac organization describes itself as the Metrology and Characterization activities at the French Alternative Energies and Atomic Energy Commission. · github.com, 12 Oct 2026
- Noise and outliers
- Fitspy can disable peak models in noisy regions and detect outliers, with automatic outlier detection suited particularly to 2D-map spectra. · cea-metrocarac.github.io, 12 Oct 2026
- Peak fitting
- Predefined peak models include Gaussian, Lorentzian, asymmetric Gaussian, asymmetric Lorentzian, and Pseudovoigt. · github.com, 12 Oct 2026
- Purpose
- Fitspy is a dedicated tool for fitting spectra, independent of a specific physical quantity or database. · cea-metrocarac.github.io, 12 Oct 2026
- Scripting support
- Yes · github.com, 23 Sept 2026
- Use cases
- The documentation describes using the GUI for a few spectra and Python batches for several thousand spectra or more. · cea-metrocarac.github.io, 12 Oct 2026
Where Fitspy stands on Freedom251
- Statistical Analysis Software#23 of 106