Installation#
kikuchipy can be installed with pip, conda, the HyperSpy Bundle, or from source, and supports Python >= 3.10. All alternatives are available on Windows, macOS and Linux.
With pip#
kikuchipy is availabe from the Python Package Index (PyPI), and can therefore be installed with pip. To install, run the following:
pip install kikuchipy
To update kikuchipy to the latest release:
pip install --upgrade kikuchipy
To install a specific version of kikuchipy (say version 0.8.5):
pip install kikuchipy==0.8.5
To install with optional dependencies:
pip install "kikuchipy[all]"
With Anaconda#
To install with Anaconda, we recommend you install it in a conda environment with the Miniconda distribution. To create an environment and activate it, run the following:
conda create --name kp-env python=3.12
conda activate kp-env
If you prefer a graphical interface to manage packages and environments, you can install the Anaconda distribution instead.
To install:
conda install kikuchipy --channel conda-forge
To update kikuchipy to the latest release:
conda update kikuchipy
To install a specific version of kikuchipy (say version 0.8.5):
conda install kikuchipy==0.8.5
To install without optional dependencies:
conda install kikuchipy-base
With the HyperSpy Bundle#
kikuchipy is available in the HyperSpy Bundle. See HyperSpy Bundle for instructions.
From source#
To install kikuchipy from source, clone the repository from GitHub, and install with pip:
git clone https://github.com/pyxem/kikuchipy.git
cd kikuchipy
pip install --editable .
See the contributing guide for Setting up a development installation and keeping it up to date.
Dependencies#
kikuchipy builds on the great work and effort of many people. This is a list of core package dependencies:
dask: Out-of-memory processing of data larger than RAM.
diffpy.structure: Handling of crystal structures.
diffsims: Handling of reciprocal lattice vectors and structure factors.
hyperspy: Multi-dimensional data handling (EBSD class etc.).
h5py: Read/write of HDF5 files.
imageio: Read image formats.
lazy_loader: Lazy loading of functions, classes, and modules.
matplotlib: Visualization.
numba: CPU acceleration via just-in-time compilation.
numpy: Handling of N-dimensional arrays.
packaging: Version comparison.
orix: Handling of rotations and vectors using crystal symmetry.
pyyaml: Parsing of YAML files.
scikit-image: Image processing like adaptive histogram equalization.
rosettasciio: Read/write of some file formats.
scikit-learn: Multivariate analysis.
scipy: Optimization algorithms, filtering and more.
tqdm: Progressbars.
typing-extensions: Type hints only available from Python >= 3.11.
Some functionality requires optional dependencies:
ebsdsim: Dynamical EBSD simulations and reading of simulations produced by ebsdsim. Currently unavailable from conda-forge.
ipywidgets: Interactive widgets in Jupyter notebooks.
IPython: Interactive widgets in Jupyter notebooks.
nlopt: Extra optimization algorithms used in EBSD orientation and/or projection center refinement. Installation from conda
conda install nlopt -c conda-forgeis recommended.pooch: Downloading and caching of datasets.
psygnal: Trigger actions based on state changes.
pyebsdindex: Hough indexing. We recommend to install with optional GPU support via pyopencl with
pip install "pyebsdindex[gpu]"orconda install pyebsdindex -c conda-forge.pyvista: 3D plotting of master patterns.
Note that installing with the optional dependencies, pip install "kikuchipy[all]",
will not install pyopencl, which is required for GPU support in pyebsdindex.
If the install command failed for some reason, you can try to install each optional
dependency separately.