============ Installation ============ kikuchipy can be installed with `pip `__, `conda `__, the :ref:`hyperspy:hyperspy-bundle`, or from source, and supports Python >= 3.7. All alternatives are available on Windows, macOS and Linux. .. _install-with-pip: 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 .. _optional-dependencies: Optional dependencies --------------------- Some functionality is optional and requires extra dependencies which must be installed manually: - :doc:`pyebsdindex`: Hough indexing. We recommend to install with optional GPU support via :doc:`pyopencl` with ``pip install pyebsdindex[gpu]`` or ``conda install pyebsdindex``. - `nlopt `_: Extra optimization algorithms used in EBSD orientation and/or projection center refinement. - :doc:`pyvista`: 3D plotting of master patterns. Install all optional dependencies:: pip install kikuchipy[all] Note that this command will not install ``pyopencl``, which is required for GPU support in ``pyebsdindex``. If the above command failed for some reason, one can try to install each optional dependency individually. .. _install-with-anaconda: With Anaconda ============= To install with Anaconda, we recommend you install it in a :doc:`conda environment ` with the `Miniconda distribution `__. To create an environment and activate it, run the following:: conda create --name kp-env python=3.11 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 .. _install-with-hyperspy-bundle: With the HyperSpy Bundle ======================== kikuchipy is available in the HyperSpy Bundle. See :ref:`hyperspy: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. .. _install-from-source: 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 :ref:`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 ==================================================== ============================================================ :doc:`dask` Out-of-memory processing of data larger than RAM :doc:`diffpy.structure ` Handling of crystal structures :doc:`diffsims ` Handling of reciprocal lattice vectors and structure factors :doc:`hyperspy ` Multi-dimensional data handling (EBSD class etc.) :doc:`h5py ` Read/write of HDF5 files :doc:`imageio ` Read image formats :doc:`matplotlib ` Visualization :doc:`numba ` CPU acceleration :doc:`numpy ` Handling of N-dimensional arrays :doc:`orix ` Handling of rotations and vectors using crystal symmetry :doc:`pooch ` Downloading and caching of datasets `pyyaml `__ Parcing of YAML files `tqdm `__ Progressbars :doc:`scikit-image ` Image processing like adaptive histogram equalization `scikit-learn `__ Multivariate analysis :doc:`scipy ` Optimization algorithms, filtering and more ==================================================== ============================================================