Metadata-Version: 2.1
Name: clease
Version: 1.0.2
Summary: CLuster Expansion in Atomistic Simulation Environment
Home-page: https://gitlab.com/computationalmaterials/clease/
Author: J. H. Chang, D. Kleiven, A. S. Tygesen
Author-email: jchang@dtu.dk, david.kleiven@ntnu.no, alexty@dtu.dk
License: MPL-2.0
Project-URL: Documentation, https://clease.readthedocs.io/
Project-URL: Source, https://gitlab.com/computationalmaterials/clease/
Keywords: Cluster Expansion,Monte Carlo,Computational materials,Materials research
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Scientific/Engineering :: Chemistry
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: ase (>=3.22)
Requires-Dist: numpy
Requires-Dist: cython
Requires-Dist: matplotlib
Requires-Dist: spglib
Requires-Dist: scikit-learn
Requires-Dist: typing-extensions
Requires-Dist: Deprecated
Requires-Dist: click (>=8.0.0)
Requires-Dist: attrs (>=21.4.0)
Requires-Dist: scipy (>=1.7.0)
Requires-Dist: packaging
Requires-Dist: threadpoolctl
Provides-Extra: all
Requires-Dist: pytest ; extra == 'all'
Requires-Dist: tox (>=3.24.0) ; extra == 'all'
Requires-Dist: clease-gui ; extra == 'all'
Requires-Dist: pytest-cov ; extra == 'all'
Requires-Dist: twine ; extra == 'all'
Requires-Dist: pip ; extra == 'all'
Requires-Dist: sphinx-rtd-theme ; extra == 'all'
Requires-Dist: sphinx ; extra == 'all'
Requires-Dist: build ; extra == 'all'
Requires-Dist: ipython ; extra == 'all'
Requires-Dist: black (>=22.1.0) ; extra == 'all'
Requires-Dist: pytest-mock ; extra == 'all'
Requires-Dist: pylint ; extra == 'all'
Requires-Dist: mock ; extra == 'all'
Requires-Dist: pytest-benchmark[histogram] (>=3.4.1) ; extra == 'all'
Requires-Dist: clang-format (>=14.0.3) ; extra == 'all'
Requires-Dist: pyclean (>=2.0.0) ; extra == 'all'
Requires-Dist: pre-commit ; extra == 'all'
Requires-Dist: cython ; extra == 'all'
Provides-Extra: dev
Requires-Dist: pip ; extra == 'dev'
Requires-Dist: cython ; extra == 'dev'
Requires-Dist: pre-commit ; extra == 'dev'
Requires-Dist: ipython ; extra == 'dev'
Requires-Dist: twine ; extra == 'dev'
Requires-Dist: black (>=22.1.0) ; extra == 'dev'
Requires-Dist: clang-format (>=14.0.3) ; extra == 'dev'
Requires-Dist: pylint ; extra == 'dev'
Requires-Dist: pyclean (>=2.0.0) ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: build ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: sphinx ; extra == 'doc'
Requires-Dist: sphinx-rtd-theme ; extra == 'doc'
Provides-Extra: gui
Requires-Dist: clease-gui ; extra == 'gui'
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-mock ; extra == 'test'
Requires-Dist: mock ; extra == 'test'
Requires-Dist: pytest-benchmark[histogram] (>=3.4.1) ; extra == 'test'
Requires-Dist: tox (>=3.24.0) ; extra == 'test'

# CLEASE

[![coverage](https://gitlab.com/computationalmaterials/clease/badges/master/coverage.svg)](https://gitlab.com/computationalmaterials/clease/)
[![PyPI version](https://badge.fury.io/py/clease.svg)](https://badge.fury.io/py/clease)
[![Conda](https://img.shields.io/conda/vn/conda-forge/clease)](https://anaconda.org/conda-forge/clease)
[![Documentation Status](https://readthedocs.org/projects/clease/badge/?version=latest)](https://clease.readthedocs.io/en/latest/?badge=latest)

CLuster Expansion in Atomic Simulation Environment (CLEASE) is a package that automates the cumbersome setup and construction procedure of cluster expansion (CE). It provides a comprehensive list of tools for specifying parameters for CE, generating training structures, fitting effective cluster interaction (ECI) values and running Monte Carlo simulations. A detailed description of the package can be found in the [documentation](https://clease.readthedocs.io/) and our [paper](https://doi.org/10.1088/1361-648X/ab1bbc).

For information on how to contribute to CLEASE, please see the [contributing](CONTRIBUTING.md) file.

# Installation

Install the CLEASE code by executing

```bash
pip install clease
```

Alternative, CLEASE is also available through anaconda on [conda](https://conda.io) via [conda-forge](https://conda-forge.org/).
We recommend installing CLEASE via conda on windows machines in order to simplify compilations, as pip tends to have
a hard time compiling the C++ code. Install into your conda environment:

```sh
conda install -c conda-forge clease
```
## Graphical User Interface

Clease has a stand-alone jupyter notebook GUI, which is capable of performing most
of the standard CE routines. It can be found [here](https://clease-gui.readthedocs.io).

CLEASE GUI can be installed from PyPI or anaconda using one of the two following commands.

### PyPI

```bash
pip install clease[gui]
```

### Anaconda

```bash
conda install -c conda-forge clease-gui
```

## Development

If you are a developer you might want to install CLEASE by executing the following command in the root folder of the project

```bash
pip install -e .
```

In order to run the tests, the testing dependencies should be installed. They can be installed with the extra
`test` option

```bash
pip install .[test]
```

There is an additional option for development purposes, `dev`, which contains some convenience packages.
All of the extras options can be installed via the `all` option,
i.e.

```bash
pip install .[all]
```

Note, that if you are using `zsh`, you need to [escape the argument](https://stackoverflow.com/a/30539963), e.g.

```bash
pip install '.[all]'
```

## Troubleshooting

If you are running on Mac and get the error

```bash
fatal error: 'ios' file not found
```

try this before installing

```bash
export MACOSX_DEPLOYMENT_TARGET=10.14
```
