ASE2SPRKKR
==========
ASE2SPRKKR package provide an interface that allow use of the [SPR-KKR
package](https://www.ebert.cup.uni-muenchen.de/index.php/en/software-en/13-sprkkr)
to electronic structure calculation within [Atomic Simulation
Environment](https://wiki.fysik.dtu.dk/ase/) (abbreviated as ASE)
\-\--Python tool that integrates the various tools for electronic
structure calculation.
Usefull links
-------------
- [SPR-KKR](https://ebert.cup.uni-muenchen.de/index.php/en/software-en/13-sprkkr)
- [ASE - Atomic Simulation
Environment](https://wiki.fysik.dtu.dk/ase/)
- [Online version of this
documentation](https://ase2sprkkr.github.io/ase2sprkkr/)
- [GitHub repository of the ASE2SPRKKR
package](https://github.com/ase2sprkkr/ase2sprkkr/)
- [SPR-KKR
manual](https://www.ebert.cup.uni-muenchen.de/index.php/en/repository/func-startdown/251/lang,en-gb/)
Installation of the package using package managers
--------------------------------------------------
The simplest way how to install and use the package is to install them
using package managers: either pip
``` {.bash}
pip install ase2sprkkr
```
or conda
``` {.bash}
conda install -c ase2sprkkr ase2sprkkr
```
### Further notes
In some systems, the pip utility for python3 is called pip3. If it is
not installed, you can install it using the linux distribution package
manager, e.g. in Debian/Ubuntu
``` {.bash}
apt install pip3
```
or
``` {.bash}
zypper install pip
```
in OpenSUSE
For the conda installation instructions, see the Anaconda documentation
<https://docs.anaconda.com/anaconda/install/linux/> however, for the
users unexperienced with conda, the (simpler) pip way is recommended.
Install the packages from GIT (and/or source codes)
---------------------------------------------------
If you do not want to use public package managers as pip or conda, or
you want to contribute to development, you can use GIT to obtain the
package sources.
### Requirements
- Python \>= 3.7
- SPR-KKR (not checked by the installer)
- Python packages: ase, mendeleev, spglib, pyparsing
- Git (to obtain the sources)
### Obtaining the package using GIT
``` {.bash}
git clone https://github.com/ase2sprkkr/ase2sprkkr.git
git checkout origin/release
```
The first line fetches the code of the package. The second one checks
out the recommended production version of the code.
If you want to obtain the current version of the (earlier-downloaded)
code, run
``` {.bash}
git fetch
git checkout origin/release
```
Alternatively, you can checkout master branch
``` {.bash}
git checkout origin/master
```
to obtain the bleeding edge version.
### Using the package (without installing the pip/conda packages)
You can either just add the src directory to your PYTHONPATH, or you can
build and install the package, as it is described below.
### Installation of the package from the sources
To install the package, you have to build the "wheel package" from the
sources and install it
#### Building the wheel (installation) package
If you do not have the wheel package built, you can do it with the
following steps.
``` {.bash}
python3 -m pip install --upgrade build
python3 -m build
```
The first line installs the tool to build the package (it is possible
that you have it already installed). The second one builds the package.
#### Installing the package
To install the package (either system-wide or in an active virtual
environment), you can run
``` {.bash}
pip install `ls ./dist/ase2sprkkr-*.whl | sort | tail -n 1`
```
### One step install from the sources
To do all the stuff (after cloning the GIT repository) in one step, you
can run
``` {.bash}
make
```
To clean up the source directory after installing the package, you can
run
``` {.bash}
make clean
```
Documentation of the package
----------------------------
The documentation is published online at
<https://ase2sprkkr.github.io/ase2sprkkr/>
If you are using Git cloned sources, you can run
open docs/index.html
to see the (offline version of the) documentation. The documentation
contains parts, that are generated from the docstrings in the source
code. You can regenerate these by
``` {.bash}
make docs
```
Sphinx and sphinx-toolbox python packages (installable e.g. using pip)
and pandoc (for generating README.md) are needed for the build.
However, the official build of Sphinx miss some attributes when it is
used to build the documentation. So, till the pullrequest that corrects
the Sphinx behavior will be merged into Sphinx, please use the following
fork for building the documentation.
<https://github.com/lokik/sphinx.git>
How to contribute or to report a bug
------------------------------------
Please feel free to make a pull-request or post an issue at:
<https://github.com/ase2sprkkr/ase2sprkkr>