Skip to main content

"Torch Autodiff Libcint Interface"

Project description

PyTorch-based Libcint Interface

Compatibility: Python Versions PyTorch Versions Operating Systems
Availability: Release PyPI Apache-2.0
Status: Tests Ubuntu Build Status Documentation Status pre-commit.ci Status Coverage

Content

This package contains a PyTorch-based interface to the libcint high-performance integral library (check version here). The interface facilitates automatic differentiation with custom backward functions that call libcint's C backend for derivative calculation.

It is based on PySCF's lib directory. Modifications include

  • removal of unnecessary code
  • minor adaptation of build instructions (CMakeLists.txt)

The project was heavily inspired by diffqc/dqc and diffqc/dqclibs.

This interface was mainly written for the calculation of integrals within grimme-lab/dxtb.

Installation

pip PyPI Version PyPI Downloads

The tad-libcint package can be obtained from pip.

pip install tad-libcint

Build from source

You can also build the Python wheels from source.

Get the repository (including libcint submodule).

git clone --recursive git@github.com:tad-mctc/tad-libcint.git
cd tad-libcint

The libcint fork contains additional integrals required for dxtb and removes unneccessary ones. Therefore, downloading from our fork is recommended.

If you already have the repository, you can update the submodule with

git submodule update --remote

CIBuildWheel

Building with cibuildwheel is as simple as running

cibuildwheel --platform linux

For a specific version, use

CIBW_BUILD="cp312-manylinux_x86_64" CIBW_MANYLINUX_X86_64_IMAGE="manylinux2014" cibuildwheel --platform linux

Conda

  1. Create an environment (conda) for building the wheels. The example here uses Python 3.10, but we support 3.8-3.11.
mamba create -n wheel-310 --yes python=3.10 auditwheel c-compiler cxx-compiler fortran-compiler cffi cmake git make meson ninja numpy patchelf pkgconfig pip python-build unzip wheel
mamba activate wheel-310
  1. Build the wheel on your system.
python -m build --wheel
  1. Repair the wheels for cross-distribution packaging.
auditwheel repair -w wheels --plat manylinux_2_17_x86_64 dist/*-cp310-cp310-linux_x86_64.whl
  1. Or only install this project with pip in the environment.
pip install .

Compatibility Linux only

PyTorch \ Python 3.8 3.9 3.10 3.11 3.12 3.13 3.14
1.11.0 :white_check_mark: :white_check_mark: :x: :x: :x: :x: :x:
1.12.1 :white_check_mark: :white_check_mark: :white_check_mark: :x: :x: :x: :x:
1.13.1 :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :x: :x: :x:
2.0.1 :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :x: :x: :x:
2.1.2 :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :x: :x: :x:
2.2.2 :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :x: :x:
2.3.1 :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :x: :x:
2.4.1 :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :x: :x:
2.5.1 :x: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :x: :x:
2.6.0 :x: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :x:
2.7.1 :x: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :x:
2.8.0 :x: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :x:
2.9.1 :x: :x: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
2.10.0 :x: :x: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:

Note that only the latest bug fix version is listed, but all preceding bug fix minor versions are supported. For example, although only version 2.2.2 is listed, version 2.2.0 and 2.2.1 are also supported.

Development

For development, additionally install the following tools in your environment.

mamba install black covdefaults coverage mypy pre-commit pylint tox

With pip, add the option -e for installing in development mode, and add [dev] for the development dependencies

pip install -e .[dev]

The pre-commit hooks are initialized by running the following command in the root of the repository.

pre-commit install

For testing all Python environments, simply run tox.

tox

Note that this randomizes the order of tests but skips "large" tests. To modify this behavior, tox has to skip the optional posargs.

tox -- test

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tad_libcint-0.3.0.tar.gz (50.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

tad_libcint-0.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

tad_libcint-0.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

tad_libcint-0.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

tad_libcint-0.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

tad_libcint-0.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

tad_libcint-0.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

tad_libcint-0.3.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file tad_libcint-0.3.0.tar.gz.

File metadata

  • Download URL: tad_libcint-0.3.0.tar.gz
  • Upload date:
  • Size: 50.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tad_libcint-0.3.0.tar.gz
Algorithm Hash digest
SHA256 11ae64b9b47bcf3bfcb4e485292497d6025d1dd7830fdd2314312612ab239fbc
MD5 60a53ca46c64b13d0d52de10265efc43
BLAKE2b-256 4428e7347775f9ea3587383c7dd8f1ebe6a0c83fd9d3308bf648b4c6f86918e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for tad_libcint-0.3.0.tar.gz:

Publisher: release.yaml on tad-mctc/tad-libcint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tad_libcint-0.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for tad_libcint-0.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c35904d3594a4deba479dafa900257d0650bde845f1a0fc89bc1f5a11e6944c9
MD5 5ba7139ab937fcb87fedbce91c1cb1e3
BLAKE2b-256 953030d3f84bb9a47e959e51bfa816bae5a4a3760bc4c8a0effdf72e15dd6ff0

See more details on using hashes here.

Provenance

The following attestation bundles were made for tad_libcint-0.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on tad-mctc/tad-libcint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tad_libcint-0.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for tad_libcint-0.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 07b02c3a61371347870877131dc9b0f6cd2eba40a7b414096f878637a791149c
MD5 321b3282ae7afcd461d72c61b2da0a9a
BLAKE2b-256 956d5f9f2d02393974a33056b7a82fd020a60ba931d793c3e914cbe40e0b1ca8

See more details on using hashes here.

Provenance

The following attestation bundles were made for tad_libcint-0.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on tad-mctc/tad-libcint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tad_libcint-0.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for tad_libcint-0.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7fbd6949625d10f1a955ccb356584b54d58e1d2fc98c3275f3b0ec4f2186fb1d
MD5 c1e5a729243f9b85249a63c5300a68a3
BLAKE2b-256 a365145ddb3fc188f45a25d0fe59c54f09d1622e1f181f08e020e1720f87765c

See more details on using hashes here.

Provenance

The following attestation bundles were made for tad_libcint-0.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on tad-mctc/tad-libcint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tad_libcint-0.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for tad_libcint-0.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 19a5b5d275c0a61b91d67e7919ba3bf03b9a650cbab25ae2672da86b8927cc07
MD5 ca35181b5da10d44b3d52e9ba7ad4d81
BLAKE2b-256 b52f027d7f6b472d91c2164da0c2fed4e7590295c78b2bc4bfbb0ef4497c1153

See more details on using hashes here.

Provenance

The following attestation bundles were made for tad_libcint-0.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on tad-mctc/tad-libcint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tad_libcint-0.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for tad_libcint-0.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f7bd0cf15f5fdc22703f76a48db1c43c7196eb34827ab57aa4a87dd541223ee3
MD5 b70f1e75072c1ce35135ea97f1fff3c9
BLAKE2b-256 cf7cff24c7f4d53fab9be6862c3503836f7c14b5f0fbc472f83b6fa9c3aaf118

See more details on using hashes here.

Provenance

The following attestation bundles were made for tad_libcint-0.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on tad-mctc/tad-libcint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tad_libcint-0.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for tad_libcint-0.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 85eaea313b7a3a397c9a582358fc606967ac0efcc9a0577d7db3c74903b02c6b
MD5 9a1b2ea163218b482807a562c8d77d73
BLAKE2b-256 715fdf8d92a2efbc49335f7ce9fd0aba3d87992cb9231499f0ae879a8d4111ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for tad_libcint-0.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on tad-mctc/tad-libcint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tad_libcint-0.3.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for tad_libcint-0.3.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 28442d8b876b7670b57b63470f00fbf8499dbb6a8845b8573f1d1a52342d750f
MD5 6e47c461593827f59514e17d1d9bf615
BLAKE2b-256 c30bb3186d93f7faade65119939eb84b44b7d6c29d29740f60a2c54239e5cdd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for tad_libcint-0.3.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yaml on tad-mctc/tad-libcint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page