Skip to main content

Python API of the DFT-D4 project

Project description

Python interface for the generally applicable atomic-charge dependent London dispersion correction, DFT-D4. This Python project is targeted at developers who want to interface their project via Python with dftd4.

This interface provides access to the C-API of dftd4 via the CFFI module. The low-level CFFI interface is available in the dftd4.library module and only required for implementing other interfaces. A more pythonic interface is provided in the dftd4.interface module which can be used to build more specific interfaces.

>>> from dftd4.interface import DampingParam, DispersionModel
>>> import numpy as np
>>> numbers = np.array([1, 1, 6, 5, 1, 15, 8, 17, 13, 15, 5, 1, 9, 15, 1, 15])
>>> positions = np.array([  # Coordinates in Bohr
...     [+2.79274810283778, +3.82998228828316, -2.79287054959216],
...     [-1.43447454186833, +0.43418729987882, +5.53854345129809],
...     [-3.26268343665218, -2.50644032426151, -1.56631149351046],
...     [+2.14548759959147, -0.88798018953965, -2.24592534506187],
...     [-4.30233097423181, -3.93631518670031, -0.48930754109119],
...     [+0.06107643564880, -3.82467931731366, -2.22333344469482],
...     [+0.41168550401858, +0.58105573172764, +5.56854609916143],
...     [+4.41363836635653, +3.92515871809283, +2.57961724984000],
...     [+1.33707758998700, +1.40194471661647, +1.97530004949523],
...     [+3.08342709834868, +1.72520024666801, -4.42666116106828],
...     [-3.02346932078505, +0.04438199934191, -0.27636197425010],
...     [+1.11508390868455, -0.97617412809198, +6.25462847718180],
...     [+0.61938955433011, +2.17903547389232, -6.21279842416963],
...     [-2.67491681346835, +3.00175899761859, +1.05038813614845],
...     [-4.13181080289514, -2.34226739863660, -3.44356159392859],
...     [+2.85007173009739, -2.64884892757600, +0.71010806424206],
... ])
>>> model = DispersionModel(numbers, positions)
>>> res = model.get_dispersion(DampingParam(method="scan"), grad=False)
>>> res.get("energy")  # Results in atomic units
-0.005328888532435093
>>> res.update(**model.get_properties())  # also allows access to properties
>>> res.get("c6 coefficients")[0, 0]
1.5976689760849156
>>> res.get("polarizabilities")
array([ 1.97521745,  1.48512704,  7.33564674, 10.28920458,  1.99973802,
       22.85298573,  6.65877552, 15.39410319, 22.73119177, 22.86303028,
       14.56038118,  1.4815783 ,  3.91266859, 25.8236368 ,  1.93444627,
       23.02494331])

Additional features

The dftd4.parameters module becomes available if a TOML parser is available, either tomlkit or toml can be used here. The returned dict can be used to supply parameters to the constructor of the DampingParam object, only the s6, s8, s9, a1, a2 and alp entries will be used, the remaining entries are meta data describing the damping parameters.

>>> from dftd4.parameters import get_damping_param
>>> get_damping_param("b97m")
{'s6': 1.0, 's9': 1.0, 'alp': 16.0, 's8': 0.6633, 'a1': 0.4288, 'a2': 3.9935}
>>> get_damping_param("r2scan", keep_meta=True)
{'s6': 1.0, 's9': 1.0, 'alp': 16.0, 'damping': 'bj', 'mbd': 'approx-atm', 's8': 0.6018749, 'a1': 0.51559235, 'a2': 5.77342911, 'doi': '10.1063/5.0041008'}

QCSchema Integration

This Python API natively understands QCSchema and the QCArchive infrastructure. If the QCElemental package is installed the dftd4.qcschema module becomes importable and provides the run_qcschema function.

>>> from dftd4.qcschema import run_qcschema
>>> import qcelemental as qcel
>>> atomic_input = qcel.models.AtomicInput(
...     molecule = qcel.models.Molecule(
...         symbols = ["O", "H", "H"],
...         geometry = [
...             0.00000000000000,  0.00000000000000, -0.73578586109551,
...             1.44183152868459,  0.00000000000000,  0.36789293054775,
...            -1.44183152868459,  0.00000000000000,  0.36789293054775
...         ],
...     ),
...     driver = "energy",
...     model = {
...         "method": "TPSS-D4",
...     },
...     keywords = {},
... )
...
>>> atomic_result = run_qcschema(atomic_input)
>>> atomic_result.return_result
-0.0002667885779142513

ASE Integration

To integrate with ASE this interface implements an ASE Calculator. The DFTD4 calculator becomes importable if an ASE installation is available.

>>> from ase.build import molecule
>>> from dftd4.ase import DFTD4
>>> atoms = molecule('H2O')
>>> atoms.calc = DFTD4(method="TPSS")
>>> atoms.get_potential_energy()
-0.007310393443152083
>>> atoms.calc.set(method="PBE")
{'method': 'PBE'}
>>> atoms.get_potential_energy()
-0.005358475432239303
>>> atoms.get_forces()
array([[-0.        , -0.        ,  0.00296845],
       [-0.        ,  0.00119152, -0.00148423],
       [-0.        , -0.00119152, -0.00148423]])

To use the DFTD4 calculator as dispersion correction the calculator can be combined using the SumCalculator from the ase.calculators.mixing module.

>>> from ase.build import molecule
>>> from ase.calculators.mixing import SumCalculator
>>> from ase.calculators.nwchem import NWChem
>>> from dftd4.ase import DFTD4
>>> atoms = molecule('H2O')
>>> atoms.calc = SumCalculator([DFTD4(method="PBE"), NWChem(xc="PBE")])

For convenience DFTD4 allows to combine itself with another calculator by using the add_calculator method which returns a SumCalculator:

>>> from ase.build import molecule
>>> from ase.calculators.emt import EMT
>>> from dftd4.ase import DFTD4
>>> atoms = molecule("C60")
>>> atoms.calc = DFTD4(method="pbe").add_calculator(EMT())
>>> atoms.get_potential_energy()
6.348142387048062
>>> [calc.get_potential_energy() for calc in atoms.calc.calcs]
[-6.015477436263984, 12.363619823312046]

The individual contributions are available by iterating over the list of calculators in calc.calcs. Note that DFTD4 will always place itself as first calculator in the list.

PySCF support

Integration with PySCF is possible by using the dftd4.pyscf module. The module provides a DFTD4Dispersion class to construct a PySCF compatible calculator for evaluating the dispersion energy and gradients.

>>> from pyscf import gto
>>> import dftd4.pyscf as disp
>>> mol = gto.M(
...     atom="""
...          C   -0.755422531  -0.796459123  -1.023590391
...          C    0.634274834  -0.880017014  -1.075233285
...          C    1.406955202   0.199695367  -0.653144334
...          C    0.798863737   1.361204515  -0.180597909
...          C   -0.593166787   1.434312023  -0.133597923
...          C   -1.376239198   0.359205222  -0.553258516
...          I   -1.514344238   3.173268101   0.573601106
...          H    1.110906949  -1.778801728  -1.440619836
...          H    1.399172302   2.197767355   0.147412751
...          H    2.486417780   0.142466525  -0.689380574
...          H   -2.454252250   0.422581120  -0.512807958
...          H   -1.362353593  -1.630564523  -1.348743149
...          S   -3.112683203   6.289227834   1.226984439
...          H   -4.328789697   5.797771251   0.973373089
...          C   -2.689135032   6.703163830  -0.489062886
...          H   -1.684433029   7.115457372  -0.460265708
...          H   -2.683867206   5.816530502  -1.115183775
...          H   -3.365330613   7.451201412  -0.890098894
...          """
... )
>>> d4 = disp.DFTD4Dispersion(mol, xc="r2SCAN")
>>> d4.kernel()[0]
array(-0.0050011)

To make use of the dispersion correction together with other calculators, the energy method allows to apply a dispersion correction to an existing calculator.

>>> from pyscf import gto, scf
>>> import dftd4.pyscf as disp
>>> mol = gto.M(
...     atom="""
...          O  -1.65542061  -0.12330038   0.00000000
...          O   1.24621244   0.10268870   0.00000000
...          H  -0.70409026   0.03193167   0.00000000
...          H  -2.03867273   0.75372294   0.00000000
...          H   1.57598558  -0.38252146  -0.75856129
...          H   1.57598558  -0.38252146   0.75856129
...          """
... )
>>> mf = disp.energy(scf.RHF(mol)).run()
converged SCF energy = -149.939098424774
>>> grad = mf.nuc_grad_method().kernel()
--------------- DFTD4 gradients ---------------
         x                y                z
0 O     0.0172438133     0.0508406920     0.0000000000
1 O     0.0380018285    -0.0460223790    -0.0000000000
2 H    -0.0305058266    -0.0126478132    -0.0000000000
3 H     0.0069233858    -0.0382898692    -0.0000000000
4 H    -0.0158316004     0.0230596847     0.0218908543
5 H    -0.0158316004     0.0230596847    -0.0218908543
----------------------------------------------

Installing

Conda Version

This project is packaged for the conda package manager and available on the conda-forge channel. To install the conda package manager we recommend the miniforge installer. If the conda-forge channel is not yet enabled, add it to your channels with

conda config --add channels conda-forge

Once the conda-forge channel has been enabled, this project can be installed with:

conda install dftd4-python

Now you are ready to use dftd4, check if you can import it with

>>> import dftd4
>>> from dftd4.libdftd4 import get_api_version
>>> get_api_version()
'4.0.2'

Building the extension module

To perform an out-of-tree build some version of dftd4 has to be available on your system and preferably findable by pkg-config. Try to find a dftd4 installation you build against first with

pkg-config --modversion dftd4

Adjust the PKG_CONFIG_PATH environment variable to include the correct directories to find the installation if necessary.

Using pip

This project support installation with pip as an easy way to build the Python API.

  • C compiler to build the C-API and compile the extension module (the compiler name should be exported in the CC environment variable)

  • Python 3.6 or newer

  • The following Python packages are required additionally

Make sure to have your C compiler set to the CC environment variable

export CC=gcc

Install the project with pip

pip install .

To install extra dependencies as well use

pip install '.[parameters,ase,qcschema]'

If you already have a dftd4 installation, e.g. from conda-forge, you can build the Python extension module directly without cloning this repository

pip install "https://github.com/dftd4/dftd4/archive/refs/heads/main#egg=dftd4-python&subdirectory=python"

Using meson

This directory contains a separate meson build file to allow the out-of-tree build of the CFFI extension module. The out-of-tree build requires

  • C compiler to build the C-API and compile the extension module

  • meson version 0.55 or newer

  • a build-system backend, i.e. ninja version 1.7 or newer

  • Python 3.6 or newer with the CFFI package installed

Setup a build with

meson setup _build -Dpython_version=$(which python3)

The Python version can be used to select a different Python version, it defaults to 'python3'. Python 2 is not supported with this project, the Python version key is meant to select between several local Python 3 versions.

Compile the project with

meson compile -C _build

The extension module is now available in _build/dftd4/_libdftd4.*.so. You can install as usual with

meson configure _build --prefix=/path/to/install
meson install -C _build

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

dftd4-4.0.2.tar.gz (664.0 kB view details)

Uploaded Source

Built Distributions

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

dftd4-4.0.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

dftd4-4.0.2-pp311-pypy311_pp73-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded PyPymacOS 15.0+ x86-64

dftd4-4.0.2-pp311-pypy311_pp73-macosx_15_0_arm64.whl (1.5 MB view details)

Uploaded PyPymacOS 15.0+ ARM64

dftd4-4.0.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

dftd4-4.0.2-pp310-pypy310_pp73-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded PyPymacOS 15.0+ x86-64

dftd4-4.0.2-pp310-pypy310_pp73-macosx_15_0_arm64.whl (1.5 MB view details)

Uploaded PyPymacOS 15.0+ ARM64

dftd4-4.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

dftd4-4.0.2-pp39-pypy39_pp73-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded PyPymacOS 15.0+ x86-64

dftd4-4.0.2-pp39-pypy39_pp73-macosx_15_0_arm64.whl (1.5 MB view details)

Uploaded PyPymacOS 15.0+ ARM64

dftd4-4.0.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

dftd4-4.0.2-pp38-pypy38_pp73-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded PyPymacOS 15.0+ x86-64

dftd4-4.0.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

dftd4-4.0.2-pp37-pypy37_pp73-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded PyPymacOS 15.0+ x86-64

dftd4-4.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dftd4-4.0.2-cp313-cp313-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

dftd4-4.0.2-cp313-cp313-macosx_15_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

dftd4-4.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dftd4-4.0.2-cp312-cp312-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

dftd4-4.0.2-cp312-cp312-macosx_15_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

dftd4-4.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

dftd4-4.0.2-cp311-cp311-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

dftd4-4.0.2-cp311-cp311-macosx_15_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

dftd4-4.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

dftd4-4.0.2-cp310-cp310-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

dftd4-4.0.2-cp310-cp310-macosx_15_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

dftd4-4.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

dftd4-4.0.2-cp39-cp39-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9macOS 15.0+ x86-64

dftd4-4.0.2-cp39-cp39-macosx_15_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.9macOS 15.0+ ARM64

dftd4-4.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

dftd4-4.0.2-cp38-cp38-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.8macOS 15.0+ x86-64

dftd4-4.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

dftd4-4.0.2-cp37-cp37m-macosx_15_0_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.7mmacOS 15.0+ x86-64

File details

Details for the file dftd4-4.0.2.tar.gz.

File metadata

  • Download URL: dftd4-4.0.2.tar.gz
  • Upload date:
  • Size: 664.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for dftd4-4.0.2.tar.gz
Algorithm Hash digest
SHA256 80517ebf5b1480312555158527d7690386d313d408e185b9078cbfb4ad160dd6
MD5 2ca0527b682c4ce0f342956cee18b0ca
BLAKE2b-256 e73567ee8fc0bb112114111a396bcc5b4df0759240ba7b4adbd3579065e2a83e

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d627234404c25b82edac787fcde3459663d3e9e0927441ced3f8c3df3c87f2c6
MD5 8d395de635104f9de48137fa9d5bcac7
BLAKE2b-256 06e7050644619c58cc07263159d00e2b8cf6acf18a72cc558bbda1468916ac69

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp311-pypy311_pp73-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp311-pypy311_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 de2ef5d27d732e0d4869e9e3b7f95ee3180fcaccb5b29f1b5c1b2c4ba0d45358
MD5 59a8549058ac9cbde9ef8c5d38fcdf0b
BLAKE2b-256 e0b47f7d6b3d2bfdf7c5c45c2fc05d49ab26e1faa846cb29cbce4c5a9b8f5b2c

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp311-pypy311_pp73-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp311-pypy311_pp73-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 729ad490516f6426daa37e34c577933afd25dd4c7763db4048477c5020704367
MD5 fa4b0fff00375a17b427daa19a2b7f09
BLAKE2b-256 7bb79017870cc062a3b50875dac4be598cf60f0e16ece35984579a9d5a8928a2

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c90a0cbb70abccf6cc08f0ccd0ee3e0100bd04ed8a2fddaa66b33242a9bb59ac
MD5 17167696eb8d4ac9500e8ca80d9c27b3
BLAKE2b-256 3ac8b00b0f4889aa75089b1772ba4ddb232f5bdf1286f84a44591a98f31b5ee8

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp310-pypy310_pp73-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp310-pypy310_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 a5f15445e151cd44a7ce602026d297875ec245bbdebdec1d4af86e01b50bcec6
MD5 661f793896353a429e3cc7026bd8346e
BLAKE2b-256 3d253d468de17aeb961655a81286c7fb479c06b9a0cc60385789c16c3a60881c

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp310-pypy310_pp73-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp310-pypy310_pp73-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 ead50c8d5fd770d57a23c82addb811ea9588ca1769c768e2a15f34aecefe2dcd
MD5 17a095c2ab578e4cf9e5efa32e1f23bf
BLAKE2b-256 146478bb0d552d12be4c5bba999f70b17fc9c4e41f167fd75952adfa6e74a703

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1cf099e5331136ea5d955ec65acf111c246228146c711dcbf0e854214ddfb00e
MD5 de865ef619bcefe9c4648b6e10bd4271
BLAKE2b-256 6507e5f7a295cd2edd514645236b40ed987a338c12c15eadd9b13fcd46f7537f

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp39-pypy39_pp73-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp39-pypy39_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 9bda84d4aa9d0f7fd31d744c0d564dc609bd6cac2338c8b9f3186b9faa00a931
MD5 044d81c25015893b933edd666b13b393
BLAKE2b-256 c04f1a3a7cec2e0751565597a9d7b720afc5b6c5c4e3dea1dacf70c447df5847

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp39-pypy39_pp73-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp39-pypy39_pp73-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 136b21c577a8ce4c4e7dedd194a783738899d4f178865ba6c4a5a8d15c34fa30
MD5 fac43cc025a4ca82d1c909d0c70c3c45
BLAKE2b-256 cbebc3a0b89262a473bfb959cca98e2607f2284160f85cb100d9e2f3807fcdce

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 619a31823ba2913995da8c3e793cca797a77f74ab3566ebf425bdfc1f98d202a
MD5 2d88cfad9dd793ee0f388f5f4fcbc405
BLAKE2b-256 0344863b5f3268ffeeee543eef481b2e14bce4efa29f719496a22c989d33fc6f

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp38-pypy38_pp73-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp38-pypy38_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 d5846fee6c00d99a84bcdfadabef86de353e9f446f2133aadafc9a5844cada12
MD5 3c923b1e01378fb928937634d0602cad
BLAKE2b-256 e09a35efdd155820d8b6c97d17362576928d6613519948d940078b82d13f7ae3

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1761fe2a71e4ad9f40db2c6671a852db6af051f240c6df4f3486c3d41288450
MD5 a7bbc97c8313b010ebf341704bac80fd
BLAKE2b-256 95d861d0888af8835b196bbc569c63da4eb73573122bdb5a04d78693dac389bd

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-pp37-pypy37_pp73-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-pp37-pypy37_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 823c50ec74ccdbfe3eb9e358ed560b31b2058bfa48516e130fd9c4063101fb7a
MD5 9979ae643cdcea8e85c375a9e8711dd0
BLAKE2b-256 64772c76ea0ebccf09f8f09e4b9f5d2556c5784007890e0889fec1f8ac98c564

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 504807ebc0dff2929ce1e8496c95dd3ff50269d7e2dbe8065460dd708aca1115
MD5 6bdf93d1ec3852fae7ac9d12350b28d5
BLAKE2b-256 4736990f4de4d15422bf2a4456edafba295dab36bc1b08fba18190a30908f3bf

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 33c89bdde3771762f6d00e6c27add6acdb2f24af361bddd25759878fdebc3559
MD5 10ebbfc95310acc8812ba187b2226770
BLAKE2b-256 6fbaf7a411a0e3ef44c42621be2917705f9f08433a41ad5d66e3ffb5a3ed8bc2

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 936fe9119ab226e99a4e05f6cb882e74f71f980d47c4ec63cb5501875d0cc1ac
MD5 999c60be88290d2471639ad5bbed7f4b
BLAKE2b-256 acf9c872d806aae2d8f06f39c001d539d542a94f49e1d9b7a8a4c0555ddad8df

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e7c284b189119866ae41de29ec78680e0cc9dd6c61fca671f772fafb8d68ee5
MD5 8c19ddde67a82430bdf21499b947496d
BLAKE2b-256 7731874fc1319119a595e8cc9a92d4f2f2827afb1c29d68db3d009fcb3aa1448

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 e31e1aee5bdc8938a1b83cb2d1652c49bf314d8e682ac01a373bf4422b6adcc4
MD5 51e51194b42c56cc865042fb3d826ce9
BLAKE2b-256 0a83057f0c72fb28cb2b95c8761a1da9fae717e708f57f814c3da9473af0ac9b

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 60cca99b71dfc5f5bb4ddf0c47f8734007aaede06a4e76b785ef2a4011eb995b
MD5 1ee14c8bb380b7b44b7e1b1150ee8a45
BLAKE2b-256 65ba54fbefd28bdde7ceea66a7a1373640dfc1e44325e99fd1cdcedeadfb733a

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b3c0636ade400f6a8c37c20acf90b8ee9132eb1238ff18a4c028c2328bb62034
MD5 1cd418b97ef66316c2c4d942e52f17b7
BLAKE2b-256 ab069cef43b4f27ad1032c071d0f64df25c110526cde22c336b001350f746933

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 91b074153968f13ad2230afe6c47c13aa4a273c797c969694e051e591ce49303
MD5 6bbbaec82bfe161043e1426059432ebb
BLAKE2b-256 eecb23c8b197534a1e19433562f617a04ceae3d7310bd6e533bfd1f58652cb21

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 978c03c661f0fa8262e57b29254841bf71507f3c14e24aeb4509a02dd36ba335
MD5 27d330bb5403480280bf1d477ae0ff5e
BLAKE2b-256 7eb524aadf2ce9af4eb9f39617b3983bff78e2b309dee417f7f01aa024de5b4c

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f930d55ba29bb3f21f48b1d5c4c2ee499d4d95ed16a434c85f0e576105ed5b5
MD5 676e926a7e1b669a7cb262d09c982cc3
BLAKE2b-256 c9604adc5ad4121e9166d48c02a8fecd4a5f4c626a99b0656eb5b770e7c60ef0

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 8fd68037aa3c30dc2836f25968ef55a789da3afe9eab40aab3bd80330e526824
MD5 44d57db0d59ad570501a17ba6a66daeb
BLAKE2b-256 d1480843978420afa0a62f2ee345a9e25176b5ab76be8e39a00cf7cbe7420bf5

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 20c6c3129784123c9aef47e76a2c265adcdf9a8c28c117fe3dcd6aafa37d63b7
MD5 65b1bcf539e0316290d5b3e757c04342
BLAKE2b-256 f96a749a438c5f6102c96b0642158565f0631173a9c54192400ed128aaea5dac

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 57775f542505a4229f3976ff1fa880b3a4679c53bb9ce2d1067656107485c456
MD5 af72519819b9f48b3a3056145b8e1f2c
BLAKE2b-256 da53212e1cc4e3033cbe4d0777a13173418c494c534ab18d80d277a370803608

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp39-cp39-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp39-cp39-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 769c26ee7a6f53ee970e22dd16ee2cc37818da0c30ba01e8e3456ed4209d8bbc
MD5 5e9db383c340f390bc3cb867abe6fd33
BLAKE2b-256 fa31267c9bdb32b4eedd9ef6afd1864b2b5331457cc1d4472931d6bb2c208ced

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp39-cp39-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp39-cp39-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 66d9da34c16d137db6e3a55f03609e26968715b30e14afe73484d0a4b9d8f617
MD5 bcd991ffaf1273023773eba63d53c9bc
BLAKE2b-256 ef3c5f127308e33ae773db00559ff37760124d82d41a6364d787d8f7b9e6047b

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d034f27db00488c92319fbf2e8c19ba6c0f2944e1f49d78c72171d46dc16636
MD5 f05887646def877fa6eba58c7d613f1a
BLAKE2b-256 de9fe5b825a0d14323da55396e80e2ebcbc4efc7399f364a65ef7b06bffd77e3

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp38-cp38-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp38-cp38-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 5460d70c1eadc1ab308c51286736e63ffd6fb6fb58bdb99e41012f2580004780
MD5 995068b7fe35927daa662963f7cb809f
BLAKE2b-256 c1dadbf2f1bd81157ac1af59b3cc031d19e8901bc2b656cfd5365c0028834bfa

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 58acc8faefc4b55a9726793b5fd2527dcf7e813520693aedf6e5846db1e3a3ad
MD5 4a173d5a1c42e09bb435827a7e7c012e
BLAKE2b-256 20f87e6620a552c625516deeec066898434f20b8725bf52d6a962411793cb9eb

See more details on using hashes here.

File details

Details for the file dftd4-4.0.2-cp37-cp37m-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for dftd4-4.0.2-cp37-cp37m-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 23a90c38d4e637951fc0b9323c06b870eac7faa3ab79f7d31a0949a75a54b2bc
MD5 fbd85b367e555e1095a7c4bb6b3cecce
BLAKE2b-256 1b7c9a4092fb1978277b64b1f665890a7224782ff0318a0f613204270d4c3f15

See more details on using hashes here.

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