Skip to main content

Python/Fortran toolkit for representation of molecules and solids for machine learning of properties of molecules and solids.

Project description

Test Ubuntu Test MacOS PyPI version Python Versions Platform License: MIT

What is qmllib?

qmllib is a Python/Fortran toolkit for representation of molecules and solids for machine learning of properties of molecules and solids. The library is not a high-level framework where you can do model.train(), but supplies the building blocks to carry out efficient and accurate machine learning. As such, the goal is to provide usable and efficient implementations of concepts such as representations and kernels.

QML or qmllib?

qmllib represents the core library functionality derived from the original QML package, providing a powerful toolkit for quantum machine learning applications, but without the high-level abstraction, for example SKLearn.

This package is and should stay free-function design oriented.

If you are moving from qml to qmllib, note that there are breaking changes to the interface to make it more consistent with both argument orders and function naming.

How to install

Install from PyPI — pre-built wheels are available for Linux and macOS. They are pre-compiled with optimized BLAS libraries and OpenMP support.

For most users, you can just install with pip:

pip install qmllib

This installs pre-compiled wheels with optimized BLAS libraries:

  • Linux: OpenBLAS
  • macOS: Apple Accelerate framework

Installing from source

If you are installing from source (e.g. directly from GitHub), you will need a Fortran compiler, OpenMP and a BLAS library. On Linux:

sudo apt install gfortran libomp-dev libopenblas-dev

On macOS via Homebrew:

brew install gcc libomp llvm 

Or install directly from GitHub:

pip install git+https://github.com/qmlcode/qmllib

Or a specific branch:

pip install git+https://github.com/qmlcode/qmllib@feature_branch

How to contribute

uv is required for the development workflow.

Fork and clone the repo, then set up the environment and run the tests:

git clone your_repo qmllib.git
cd qmllib.git
make install-dev
make test

Fork it, clone it, make it, test it!

How to use

Notebook examples are coming. For now, see test files in tests/*.

How to cite

Please cite the representation that you are using accordingly.

  • Implementation

    qmllib: A Python Toolkit for Quantum Chemistry Machine Learning, https://github.com/qmlcode/qmllib, <version or git commit>

  • FCHL19 generate_fchl19

    FCHL revisited: Faster and more accurate quantum machine learning, Christensen, Bratholm, Faber, Lilienfeld, J. Chem. Phys. 152, 044107 (2020), https://doi.org/10.1063/1.5126701

  • FCHL18 generate_fchl18

    Alchemical and structural distribution based representation for universal quantum machine learning, Faber, Christensen, Huang, Lilienfeld, J. Chem. Phys. 148, 241717 (2018), https://doi.org/10.1063/1.5020710

  • Coulomb Matrix generate_coulomb_matrix_*

    Fast and Accurate Modeling of Molecular Atomization Energies with Machine Learning, Rupp, Tkatchenko, Müller, Lilienfeld, Phys. Rev. Lett. 108, 058301 (2012) DOI: https://doi.org/10.1103/PhysRevLett.108.058301

  • Bag of Bonds (BoB) generate_bob

    Assessment and Validation of Machine Learning Methods for Predicting Molecular Atomization Energies, Hansen, Montavon, Biegler, Fazli, Rupp, Scheffler, Lilienfeld, Tkatchenko, Müller, J. Chem. Theory Comput. 2013, 9, 8, 3404–3419 https://doi.org/10.1021/ct400195d

  • SLATM generate_slatm

    Understanding molecular representations in machine learning: The role of uniqueness and target similarity, Huang, Lilienfeld, J. Chem. Phys. 145, 161102 (2016) https://doi.org/10.1063/1.4964627

  • ACSF generate_acsf

    Atom-centered symmetry functions for constructing high-dimensional neural network potentials, Behler, J Chem Phys 21;134(7):074106 (2011) https://doi.org/10.1063/1.3553717

  • AARAD generate_aarad

    Alchemical and structural distribution based representation for universal quantum machine learning, Faber, Christensen, Huang, Lilienfeld, J. Chem. Phys. 148, 241717 (2018), https://doi.org/10.1063/1.5020710

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

qmllib-1.2.0.tar.gz (12.1 MB view details)

Uploaded Source

Built Distributions

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

qmllib-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

qmllib-1.2.0-cp314-cp314-macosx_15_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

qmllib-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

qmllib-1.2.0-cp313-cp313-macosx_15_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

qmllib-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

qmllib-1.2.0-cp312-cp312-macosx_15_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

qmllib-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

qmllib-1.2.0-cp311-cp311-macosx_15_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

qmllib-1.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

qmllib-1.2.0-cp310-cp310-macosx_15_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

Details for the file qmllib-1.2.0.tar.gz.

File metadata

  • Download URL: qmllib-1.2.0.tar.gz
  • Upload date:
  • Size: 12.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for qmllib-1.2.0.tar.gz
Algorithm Hash digest
SHA256 7c3d975ed9776b8abec3b7278207c38041731264f734a04f906e6f8ebd106363
MD5 18cd707e3e472314c36c210906f55fb0
BLAKE2b-256 1347f7b298ddcbf11eb416309aaa9a8ab0d134de3f29230b884acf88bc49f0a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmllib-1.2.0.tar.gz:

Publisher: release.yml on qmlcode/qmllib

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

File details

Details for the file qmllib-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qmllib-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 617e9e27df3ff3968b51d6e398e933ca5610e0d4fadc60a7f62d481833913b3b
MD5 6e741eec1aa6340c3485959ff4dfb112
BLAKE2b-256 91b32f59887890eef309061187c938fe29236ce4655e7de32bbb4f5b82bf8f5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmllib-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on qmlcode/qmllib

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

File details

Details for the file qmllib-1.2.0-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for qmllib-1.2.0-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 0566084619a2c73b63aac27743d2d06f3523d3d9f5f963b297e80cf51aaef1b4
MD5 35e7bcc179a91facc23b4c1ef9ea2604
BLAKE2b-256 34812b407b30a62e8f304e01c21d8e2e8103a609a9b7d6385a28d89d6bf7e8e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmllib-1.2.0-cp314-cp314-macosx_15_0_arm64.whl:

Publisher: release.yml on qmlcode/qmllib

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

File details

Details for the file qmllib-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qmllib-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f3ebd3cc71e2f54994da9b29dfa0384ab7b69fc23609e4e035cf999ae2e25b57
MD5 cef380f7e24786bf4170e60096aea620
BLAKE2b-256 b096559969effbf1101f333ab7af5f0360d141407a562028dcac8f825b738fc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmllib-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on qmlcode/qmllib

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

File details

Details for the file qmllib-1.2.0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for qmllib-1.2.0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 ae68056229fcadeff2b0269990d6d4fd4070eae7ca8979be24bee60d9dd36a44
MD5 3444ae1e27c6b3a2eb4817948c145a0b
BLAKE2b-256 52549468d76251b894c49eb99e006ab0247346e59392e6cbb309f9d9d5f8d508

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmllib-1.2.0-cp313-cp313-macosx_15_0_arm64.whl:

Publisher: release.yml on qmlcode/qmllib

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

File details

Details for the file qmllib-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qmllib-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b284ab721e92d9c0fe938a8db8fb8ceb67fb6d024efb6166b103d7f341285333
MD5 adf67ff9f83c3bcaddd88ce4b7db5d0b
BLAKE2b-256 e463d9fbfc3e75ae17afdd25990f738afd8240935c684e9b2944e605360042ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmllib-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on qmlcode/qmllib

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

File details

Details for the file qmllib-1.2.0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for qmllib-1.2.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 09cab17d3552112e29c69196601f0cd200e5ac3365c9c3596ce26efddbd0b96c
MD5 8134fb9ee4ed0767650a3818105b4fbe
BLAKE2b-256 2191269d013ad28959855cdb49643e63e6b58479472fd0a818d4285cf1bd8907

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmllib-1.2.0-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: release.yml on qmlcode/qmllib

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

File details

Details for the file qmllib-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qmllib-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eb2cd53a97852c4da7c054ce277e8a736cef8c699bc72be83408cc03207d1ad8
MD5 249bc97b89e5b4375a1eae290988224f
BLAKE2b-256 d253825a6eba482a44af0b942cca974477f66ffd150f402f1a5b1fedd703236b

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmllib-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on qmlcode/qmllib

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

File details

Details for the file qmllib-1.2.0-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for qmllib-1.2.0-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 3d3c954d340b9bf92843103017c073631bee6c6f8f5df8c55bf3d75964daa14b
MD5 dd74ea388359d051afc2ec840e32e6d4
BLAKE2b-256 7df38adb461a8e1782dc644ba06740272546cadf05013a12e5066fb4bd1788ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmllib-1.2.0-cp311-cp311-macosx_15_0_arm64.whl:

Publisher: release.yml on qmlcode/qmllib

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

File details

Details for the file qmllib-1.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qmllib-1.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 15096bfa7ba9d167e703d622e3734823177d1dbfa6718e7e91a7f03ea4e21e7e
MD5 7efdbc8c3ee31bc9f6dc6891b03631de
BLAKE2b-256 0de4a14adbcced45e129bc66ff5f0b051c2c18425b513eaa47cea9eb9d100738

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmllib-1.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on qmlcode/qmllib

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

File details

Details for the file qmllib-1.2.0-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for qmllib-1.2.0-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 9507b8a1d1b3a2ae2954ff116777b22a83e06dc28822cbe8cd68f9d702a3d117
MD5 6e7d0c429ffaa1ea0a39bc0ce437bb9a
BLAKE2b-256 b46f4f6f8b1237753cddfc1ddfcbc9fb809bddd09970fc4e1875739a38a8d723

See more details on using hashes here.

Provenance

The following attestation bundles were made for qmllib-1.2.0-cp310-cp310-macosx_15_0_arm64.whl:

Publisher: release.yml on qmlcode/qmllib

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