Metadata-Version: 2.1
Name: xtb
Version: 22.1
Summary: Python API for the extended tight-binding program
License: LGPL-3.0-or-later
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Fortran
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
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: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Physics
Project-URL: Repository, https://github.com/grimme-lab/xtb-python
Project-URL: Documentation, https://xtb-python.readthedocs.io
Requires-Python: >=3.7
Requires-Dist: cffi
Requires-Dist: numpy
Requires-Dist: ase; extra == "ase"
Requires-Dist: qcelemental; extra == "qcschema"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: ase; extra == "test"
Requires-Dist: qcelemental; extra == "test"
Provides-Extra: ase
Provides-Extra: qcschema
Provides-Extra: test
Description-Content-Type: text/x-rst

Python API for the extended tight binding program
=================================================

.. image:: https://img.shields.io/conda/vn/conda-forge/xtb-python.svg
   :alt: Conda Version
   :target: https://anaconda.org/conda-forge/xtb-python
.. image:: https://img.shields.io/github/license/grimme-lab/xtb-python
   :alt: License
   :target: COPYING.LESSER
.. image:: https://readthedocs.org/projects/xtb-python/badge/?version=latest
   :alt: Documentation Status
   :target: https://xtb-python.readthedocs.io/en/latest/?badge=latest
.. image:: https://img.shields.io/lgtm/grade/python/g/grimme-lab/xtb-python.svg
   :alt: LGTM
   :target: https://lgtm.com/projects/g/grimme-lab/xtb-python/context:python
.. image:: https://codecov.io/gh/grimme-lab/xtb-python/branch/main/graph/badge.svg
   :alt: Codecov
   :target: https://codecov.io/gh/grimme-lab/xtb-python

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

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 <https://xtb-python.readthedocs.io/en/latest/installation.html>`_.


Conda Installation
~~~~~~~~~~~~~~~~~~

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

.. code::

   conda config --add channels conda-forge

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

.. code::

   conda install xtb-python

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

.. code::

   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

.. code::

   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 <CONTRIBUTING.rst>`_ 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.
