Skip to content

grimme-lab/xtb-python

Repository files navigation

Python API for the extended tight binding program

Conda Version License Documentation Status LGTM Codecov

This repository hosts the Python API for the extended tight binding (xtb) program.

Warning ⚠️ : xtb-python is no longer in active development. We recommend using tblite instead.

The idea of this project is to provide the xtb API for Python without requiring an additional xtb installation.

Installation

Depending on what you plan to do with xtb-python there are two recommended ways to install.

  • If you plan to use this project in your workflows, follow the Conda Installation section.
  • If you plan to develop on this project, proceed with the Build from Source section.

For more details visit the documentation.

Conda Installation

Installing xtb-python from the conda-forge channel can be achieved by adding conda-forge to your channels with:

conda config --add channels conda-forge

Once the conda-forge channel has been enabled, xtb-python can be installed with:

conda install xtb-python

It is possible to list all of the versions of xtb-python available on your platform with:

conda search xtb-python --channel conda-forge

Build from Source

The project is build with meson, the exact dependencies are defined by the xtb project, in summary it requires a Fortran and a C compiler as well as a linear algebra backend. Make yourself familiar with building xtb first!

Additionally this project requires a development version of Python installed. Also ensure that you have the numpy and cffi packages installed, configure the build of the extension with.

All steps to build the project are automated using

pip install .

To pass options to the meson build of xtb use --config-setting setup-args="-Dxtb-6.5.1:la_backend=openblas" to set for example the linear algebra backend to OpenBLAS.

Contributing

Contributions to this open source project are very welcome. Before starting, review our contributing guidelines first, please.

License

xtb-python is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

xtb-python is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU Lesser General Public License for more details.