Giter Club home page Giter Club logo

xtb-python's Introduction

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.

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, proceed with the conda installation, if you plan to develop on this project, proceed with the build from source.

For more details visit the documentation.

With Conda

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

From Source

When building this project from source, make sure to initialize the git submodules with

git submodules update --init

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:

meson setup build --prefix=$PWD
ninja -C build install

If you have several versions of Python installed you can point meson with the -Dpy=<version> option to the correct one. This will create the CFFI extension _libxtb and place it in the xtb directory.

In case meson fails to configure or build, check the options for -Dla_backed and -Dopenmp which are passed to the xtb subproject. For more information on the build with meson, follow the guide in the xtb repository here.

After creating the _libxtb extension, the Python module can be installed as usual with

pip install -e .

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.

xtb-python's People

Contributors

awvwgk avatar bwvdg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.