Installation#

kikuchipy can be installed with pip, conda, the HyperSpy Bundle, or from source, and supports Python >= 3.7. 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.5.8):

pip install kikuchipy==0.5.8

Optional dependencies#

Some dependencies are optional and available via the following selectors:

Selector

Package(s)

Purpose

viz

pyvista

3D plot of master patterns

Installing optional dependencies:

pip install kikuchipy[viz]

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.9
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.5.8):

conda install kikuchipy==0.5.8

With the HyperSpy Bundle#

kikuchipy is available in the HyperSpy Bundle. See HyperSpy Bundle for instructions.

Warning

kikuchipy is updated more frequently than the HyperSpy Bundle, thus the installed version of kikuchipy will most likely not be the latest version available. See the HyperSpy Bundle repository for how to update packages in the bundle.

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 explicit package dependencies (some are Optional dependencies):

Package

Purpose

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

matplotlib

Visualization

numba

CPU acceleration

numpy

Handling of N-dimensional arrays

orix

Handling of rotations and vectors using crystal symmetry

pooch

Downloading and caching of datasets

pyyaml

Parcing of YAML files

tqdm

Progressbars

scikit-image

Image processing like adaptive histogram equalization

scikit-learn

Multivariate analysis

scipy

Optimization algorithms, filtering and more