FitPy – A Python framework for advanced fitting of models to spectroscopic data.
FitPy is a Python framework for the advanced fitting of models to spectroscopic data focussing on reproducibility. Supported are semi-stochastic sampling of starting conditions, global fitting of several datasets at once, and fitting several concurrent models to one dataset. FitPy builds upon and extends the ASpecD framework. At the same time, it relies on the SciPy software stack and on lmfit for its fitting capabilities.
Making use of the concept of recipe-driven data analysis, actual fitting no longer requires programming skills, but is as simple as writing a text file defining both, the model and the fitting parameters in an organised way. Curious? Have a look at its documentation.
FitPy is free and open source licensed under a BSD 2-clause license. However, if you use FitPy for your own research, please cite it appropriately:
As FitPy is based on the SciPy and lmfit packages, you are highly encouraged to cite these two packages as well: SciPy: doi:10.1038/s41592-019-0686-2, lmfit: doi:10.5281/zenodo.598352.
Note: The most up-to-date information can be found in the changelog included in the package documentation.
A note on the logo: The logo shows a Latin square, usually attributed to Leonhard Euler. In the context of statistical sampling, a Latin square consists of only one sample in each row and each column. Its n-dimensional generalisation, the Latin hypercube, is used to generate a near-random sample of parameter values from a multidimensional distribution in statistics, e.g., for obtaining sets of starting parameters for minimisation and fitting tasks. The logo shows a snake (obviously a Python) distributed such over a 4×4 square that it visits each row and each column only once. The copyright of the logo belongs to J. Popp.