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
pooch: Downloading and caching of datasets
pyyaml: Parcing 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:
ipywidgets: Interactive widgets in Jupyter notebooks.
IPython: Interactive widgets in Jupyter notebooks.
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.nlopt: Extra optimization algorithms used in EBSD orientation and/or projection center refinement. Installation from conda
conda install nlopt -c conda-forgeis recommended.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.