Skip to content

Installation

SpectraFit can be currently only installed directly from the GitHub repository. It is important that poetry is installed first, because the setup.py is not explicitly defined, because it is indirectly available in the pyproject.toml file.

via GitHub

Text Only
pip install git+https://github.com/Anselmoo/SpectraFit.git

via PyPi

Text Only
pip install spectrafit

With extensions

For the jupyter support, the following command can be used:

Text Only
pip install spectrafit[jupyter-dash]

For the graph visualization, the following command can be used:

Text Only
pip install spectrafit[graph]

For all extensions, the following command can be used:

Text Only
pip install spectrafit[all]

via Environment

To keep the system environment clean, the installation is done via the:

PIPX allows to install and run packages in a isolated environment.

Installation:

Text Only
# install pipx for macOS
brew install pipx
# install pipx for Linux or Windows
pip install pipx
pipx install --upgrade pipx
# install spectrafit for python 3.7
pipx install spectrafit --python python3.7
# install spectrafit for python 3.8
pipx install spectrafit --python python3.8
# install spectrafit for python 3.9
pipx install spectrafit --python python3.9

spectrafit --help

Conda is a package manager for Python. It is a tool for installing and managing packages, environments, and virtualenvs. SpectraFit is available as conda-forge.

Example:

Text Only
conda install -c conda-forge spectrafit

spectrafit --help

For include the jupyter support, the following command can be used:

Text Only
conda install -c conda-forge spectrafit-jupyter

# To test
python -c "from spectrafit.plugins.notebook import SpectraFitNotebook"

For include the graph support, the following command can be used:

Text Only
conda install -c conda-forge spectrafit-graph

# To test
python -c "from spectrafit.plugins.graph import SpectraFitGraph"
For include the all support, the following command can be used:

Text Only
conda install -c conda-forge spectrafit-all

# To test
python -c "from spectrafit.plugins.notebook import SpectraFitNotebook"
python -c "from spectrafit.plugins.graph import SpectraFitGraph"

Extended documentation about the installation of SpectraFit via conda can be found here. In general, the following command can be useful for working with conda:

Text Only
conda config --add channels conda-forge
conda config --set channel_priority strict

For installing SpectraFit via Poetry, first SpectraFit has to be downloaded or cloned from the GitHub repository. Optionally, the SpectraFit repo has to be unpacked. Next, poetry has to be installed via pip:

Text Only
pip install poetry

or via conda:

Text Only
conda install -c conda-forge poetry
Installation:

Text Only
poetry install -E jupyter
Usage:

Text Only
poetry run spectrafit --help

or using the poetry shell:

Text Only
poetry shell
spectrafit --help

Result:

Text Only
    usage: spectrafit [-h] [-o OUTFILE] [-i INPUT] [-ov] [-e0 ENERGY_START]
                    [-e1 ENERGY_STOP] [-s SMOOTH] [-sh SHIFT] [-c COLUMN COLUMN]
                    [-sep { ,,,;,:,|, ,s+}] [-dec {.,,}] [-hd HEADER]
                    [-g {0,1,2}] [-auto] [-np] [-v] [-vb {0,1,2}]
                    infile

    Fast Fitting Program for ascii txt files.

    ...

Plugins

The SpectraFit package is designed to be extended by plugins. Currently available plugins are:

  • Input-File-Converter (built-in)
  • Jupyter-Notebook-Interface (pip install spectrafit[jupyter])
  • Elastic-Line-Alignment (in progress)

via Docker

About Docker-Image

Since version 0.12.0, the SpectraFit package is available as a Docker-Image. The Docker-Image is based on an modified Jupyter-Scipy-Image and contains the SpectraFit package and the Jupyter-Notebook interface.

The Docker-Image can be installed and used via:

Text Only
docker pull ghcr.io/anselmoo/spectrafit:latest
docker run -it -p 8888:8888 spectrafit:latest

or just via:

Text Only
docker run -it -p 8888:8888 ghcr.io/anselmoo/spectrafit:latest

Docker-Image

To include the home directory of the host system, the following command can be used:

Text Only
docker run -it -p 8888:8888 -v $HOME:/home/user/work spectrafit:latest

or via:

Text Only
docker run -it -p 8888:8888 -v $HOME:/home/user/work ghcr.io/anselmoo/spectrafit:latest