Overview and Package Dependencies

This library should work on linux, windows and mac OS operating systems provided that are working python environment is installed. Detailed steps on how to install the package are given below:

Package Dependencies

This package comes with the following core dependencies:

  • Packaging is managing the correct versions of the depending packages.

  • NumPy and SciPy are used for numerical calculations.

  • matplotlib and pandas are used for data representation.

  • ruamel.yaml is used to write and read (yaml) configuration files.

  • h5py is used to write and read (hdf5) data files.

  • ASE and spglib are used to handle atomic structures.

  • tqdm for visualizing progress bars.

Some features demand additional dependencies:

  • aiida: To use the AiiDA interface and the high-throughput workflows the AiiDA package and the SeeK-path are needed.

  • crystal_structure_generation: The generation of random crystals is based on PyXtaL

  • phonons: To make use of the phonopy interface the phonopy is needed.

  • database_interfaces: There are several packages used for the different interfaces to online databases:

    • Requests is the base package that manages the retrieval of data from the online servers.

    • pymatgen, msgpack and boto3 are used for the interface to materials project.

    • qmpy-rester is used the interface to the open quantum materials database.

  • graphs: To create graphs from atomic structures the NetworkX and graphviz package are needed.

  • plots: The plotly package serves as a secondary plotting engine.

  • ml: The machine learning routines are based on Dscribe and scikit learn.

  • tests: Includes all packages for the testing infrastructure.

  • doc: Includes all packages to produce the documentation page.

All dependencies can be installed via the following command:

pip install aim2dat[aiida,crystal_structure_generation,phonons,database_interfaces,graphs,ml,plots]