Skip to main content

PyBEST: Pythonic Black-box Electronic Structure Tool.

Project description

PyBEST is a Pythonic Black-box Electronic Structure Tool, written primarily in the Python programming language with additional parts written in C++ (interfaced using nanobind).

PyBEST is a fully-fledged modern electronic-structure software package, developed at NCU in Torun, released under the GNU General Public License. The package provides an efficient and reliable platform for electronic structure calculations at the interface of chemistry and physics using unique electronic structure methods. PyBEST is easy to use and easy to code in.

For more information, see our official homepage. You will also find there various versions of PyBEST to download and install including the most recent version of this documentation.

NOTE: The wheels are shipped with an integrated libint2 library built for a maximum angular momemtum of 4 (g-type functions). For higher angular momentum functions, PyBEST needs to be compiled from source as described here.

Graphical User Interface

A graphical user interface (GUI) is available to simplify the creation of PyBEST input files. The GUI is designed for intuitive interaction and facilitates setting up calculations without requiring manual file editing.

The GUI is publicly available on Zenodo.

NOTE: This version of PyBEST is compatible with the PyBEST GUI v1.1.0 or newer.

Main Features

Compatibility

  • Integrating the LibInt2 library.

  • Adapting a modular structure to easily combine PyBEST with custom developments.

  • GPU-accelerated computing using the CuPy and PyTorch libraries.

Electronic Structure Methods

  • Hamiltonians (various one- and two-electron integrals)

    • The electronic Schrödinger Hamiltonian in atom-centered Gaussian basis sets

      • One- and two-electron integrals computed with LibInt2

        • overlap, kinetic energy, nuclear, multipole, electron repulsion integrals (ERI)
      • pVp integrals

      • Cholesky-decomposed ERI

      • Douglas-Kroll-Hess Hamiltonian (DKH2)

      • eXact 2-Component (X2C) scalar relativistic Hamiltonian

      • Point-charge integrals

      • Static embedding potential integrals

    • Model Hamiltonians

      • 1-dimensional Hubbard model Hamiltonian (with and without periodic boundary conditions)

      • 1-dimensional contact interactions in an arbitrary external potential

      • Huckel and TB Hamiltonian

      • PPP Hamiltonian

    • User-provided Hamiltonians

      • Molpro's FCIDUMP format
  • Hartree-Fock theory:

    • Restricted and unrestricted orbitals

    • Various DIIS algorithms

  • Configuration Interaction methods

    • Configuration Interaction Singles (CIS)

    • Configuration Interaction Doubles (CID)

    • Configuration Interaction Singles and Doubles (CISD)

  • Coupled Cluster-type methods

    • pair-Coupled Cluster Doubles (pCCD), also known as the Antisymmetry Product of 1 reference-orbital Geminals (AP1roG)

    • Linearized Coupled Cluster Doubles (LCCD)

    • Linearized Coupled Cluster Singles and Doubles (LCCSD)

    • pCCD-LCCD (pCCD with an LCCD correction on top of it)

    • pCCD-LCCSD (pCCD with an LCCSD correction on top of it)

    • pCCD-CCS (pCCD with a Coupled Cluster Singles correction on top of it)

    • Coupled Cluster Doubles (CCD) in any restricted orbital basis

    • Coupled Cluster Singles and Doubles (CCSD) in any restricted orbital basis

    • Frozen-pair Coupled Cluster and Doubles (fpCCD)

    • Frozen-pair Coupled Cluster Singles and Doubles (fpCCSD)

    • Tailored Couples Cluster Singles Doubles (tCCSD)

  • Perturbation theory

    • Moller-Plesset Perturbation Theory of second order (MP2)

    • Symmetry Adapted Perturbation Theory (SAPT)

      • the SAPT0 un-coupled flavour for spin-restricted HF orbitals
    • Various Perturbation Theory models of second order with an pCCD reference function

      • PT2SDd (diagonal zero-order Hamiltonian, single determinant as dual state) with Doubles and Singles and Doubles

      • PT2MDd (diagonal zero-order Hamiltonian, pCCD as dual state) with Doubles and Singles and Doubles

      • PT2SDo (off-diagonal zero-order Hamiltonian, single determinant as dual state) with Doubles and Singles and Doubles

      • PT2MDo (off-diagonal zero-order Hamiltonian, pCCD as dual state) with Doubles and Singles and Doubles

      • PT2b (off-diagonal zero-order Hamiltonian, pCCD as dual state, full Hamiltonian as perturbation operator) with Doubles and Singles and Doubles including/excluding electron pairs

  • Equation of Motion Coupled Cluster methods

    • Equation of Motion CCS (EOM-CCS equivalent to CIS)

    • EOM-pCCD

    • EOM-pCCD+S (single excitation are included in the EOM ansatz only, while the CC ansatz is restricted to pCCD)

    • EOM-pCCD-CCS

    • EOM-LCCD

    • EOM-LCCSD

    • EOM-pCCD-LCCD

    • EOM-pCCD-LCCSD

    • EOM-CCD

    • EOM-CCSD

  • Ionization Potential Equation of Motion Coupled Cluster methods

    • IP-pCCD with 1 hole and 2 hole 1 particle operators ($S_z = 0.5, 1.5$)

    • IP-CCD with 1 hole and 2 hole 1 particle operators ($S_z = 0.5, 1.5$)

    • IP-CCSD with 1 hole and 2 hole 1 particle operators ($S_z = 0.5, 1.5$)

    • IP-LCCD with 1 hole and 2 hole 1 particle operators ($S_z = 0.5, 1.5$)

    • IP-LCCSD with 1 hole and 2 hole 1 particle operators ($S_z = 0.5, 1.5$)

    • IP-fpCCD with 1 hole and 2 hole 1 particle operators ($S_z = 0.5, 1.5$)

    • IP-fpCCSD with 1 hole and 2 hole 1 particle operators ($S_z = 0.5, 1.5$)

    • IP-pCCD-LCCD with 1 hole and 2 hole 1 particle operators ($S_z = 0.5, 1.5$)

    • IP-pCCD-LCCSD with 1 hole and 2 hole 1 particle operators ($S_z = 0.5, 1.5$)

    • DIP-pCCD with 2 hole and 3 hole 1 particle operators ($S_z = 0.0, 1.0, 2.0$)

    • DIP-CCD with 2 hole and 3 hole 1 particle operators ($S_z = 0.0$)

    • DIP-CCSD with 2 hole and 3 hole 1 particle operators ($S_z = 0.0$)

    • DIP-LCCD with 2 hole and 3 hole 1 particle operators ($S_z = 0.0$)

    • DIP-LCCSD with 2 hole and 3 hole 1 particle operators ($S_z = 0.0$)

    • DIP-fpCCD with 2 hole and 3 hole 1 particle operators ($S_z = 0.0$)

    • DIP-fpCCSD with 2 hole and 3 hole 1 particle operators ($S_z = 0.0$)

    • DIP-fpLCCD with 2 hole and 3 hole 1 particle operators ($S_z = 0.0$)

    • DIP-fpLCCSD with 2 hole and 3 hole 1 particle operators ($S_z = 0.0$)

  • Electron Attachment Equation of Motion Coupled Cluster methods

    • EA-pCCD with 1 particle and 2 particle 1 hole operators ($S_z = 0.5, 1.5$)

    • EA-CCD with 1 particle and 2 particle 1 hole operators ($S_z = 0.5$)

    • EA-CCSD with 1 particle and 2 particle 1 hole operators ($S_z = 0.5$)

    • EA-fpCCD with 1 particle and 2 particle 1 hole operators ($S_z = 0.5$)

    • EA-fpCCSD with 1 particle and 2 particle 1 hole operators ($S_z = 0.5$)

    • EA-LCCD with 1 particle and 2 particle 1 hole operators ($S_z = 0.5$)

    • EA-LCCSD with 1 particle and 2 particle 1 hole operators ($S_z = 0.5$)

    • EA-fpLCCD with 1 particle and 2 particle 1 hole operators ($S_z = 0.5$)

    • EA-fpLCCSD with 1 particle and 2 particle 1 hole operators ($S_z = 0.5$)

    • DEA-pCCD with 2 particle and 3 particle 1 hole operators ($S_z = 0.0, 1.0, 2.0$)

  • Reversed Spin Flip Equation of Motion Coupled Cluster methods

    • RSF-CCD creating four unpaired electrons ($S_z = 2$)

    • RSF-CCSD creating four unpaired electrons ($S_z = 2$)

    • RSF-LCCD creating four unpaired electrons ($S_z = 2$)

    • RSF-LCCSD creating four unpaired electrons ($S_z = 2$)

    • RSF-fpCCD creating four unpaired electrons ($S_z = 2$)

    • RSF-fpCCSD creating four unpaired electrons ($S_z = 2$)

    • RSF-fpLCCD creating four unpaired electrons ($S_z = 2$)

    • RSF-fpLCCSD creating four unpaired electrons ($S_z = 2$)

  • Linear Response Coupled Cluster methods

    • LR-pCCD: Transition density matrices, dipole strengths, and oscillator strengths

    • LR-pCCD+S: Transition density matrices, dipole strengths, and oscillator strengths

Post-Processing

  • Orbital entanglement and correlation analysis

    • for a pCCD reference function

    • for a pCCD-LCC reference function

  • Orbital localization

    • Pipek-Mezey orbital localization
  • Property calculations

    • Multipole moments using response density matrcies: dipole, quadrupole, and octupole moments with HF, pCCD, pCCD-LCC wavefunctions

    • Multipole moments using expectation-value density matrcies: dipole, quadrupole, and octupole moments with HF, pCCD, and all supported CC wavefunctions

Citing PyBEST

Please, refer to PyBEST as follows:

Saman Behjou, Filip Brzęk, Rahul Chakraborty, Kacper Cieślak, Antonina Dobrowolska, Seyedehdelaram Jahani, Zahra Karimi, Michał Kopczyński, Aleksandra Leszczyk, Artur Nowak, Ram Dhari Pandey, Emil Sujkowski, Julia Szczuczko, Lena Szczuczko, Julian Świerczyński, Somayeh Ahmadkhani, Katharina Boguslawski, Iulia Brumboiu, Marta Gałyńska, Dariusz Kędziera, Maximilian H. Kriebel, Paweł Tecmer, Piotr Szymon Żuchowski, PyBEST 2.2.0, 2026

If you use PyBEST, please cite the following:

Katharina Boguslawski, Filip Brzęk, Rahul Chakraborty, Kacper Cieślak, Seyedehdelaram Jahani, Aleksandra Leszczyk, Artur Nowak, Emil Sujkowski, Julian Świerczyński, Somayeh Ahmadkhani, Dariusz Kędziera, Maximilian H. Kriebel, Piotr Szymon Żuchowski, Paweł Tecmer, "PyBEST: Improved functionality and enhanced performance", Computer Physics Communications, 297, 2024, https://doi.org/10.1016/j.cpc.2023.109049.

Katharina Boguslawski, Aleksandra Leszczyk, Artur Nowak, Filip Brzęk, Piotr Szymon Żuchowski, Dariusz Kędziera, Paweł Tecmer, "Pythonic Black-box Electronic Structure Tool (PyBEST). An open-source Python platform for electronic structure calculations at the interface between chemistry and physics", Computer Physics Communications, 264, 2021, https://doi.org/10.1016/j.cpc.2021.107933.

Contact Information

If you have questions, please send them to our developer e-mail address pybest@umk.pl

Alternatively, you may directly contact the authors of a specific part of PyBEST.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

pybest-2.2.0-cp314-cp314-manylinux_2_34_x86_64.whl (54.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

pybest-2.2.0-cp314-cp314-manylinux_2_34_aarch64.whl (49.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

pybest-2.2.0-cp314-cp314-manylinux_2_28_x86_64.whl (54.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pybest-2.2.0-cp313-cp313-manylinux_2_34_x86_64.whl (54.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

pybest-2.2.0-cp313-cp313-manylinux_2_34_aarch64.whl (49.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

pybest-2.2.0-cp313-cp313-manylinux_2_28_x86_64.whl (54.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pybest-2.2.0-cp313-abi3-macosx_15_0_arm64.whl (128.6 MB view details)

Uploaded CPython 3.13+macOS 15.0+ ARM64

pybest-2.2.0-cp312-cp312-manylinux_2_34_x86_64.whl (54.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

pybest-2.2.0-cp312-cp312-manylinux_2_34_aarch64.whl (49.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

pybest-2.2.0-cp312-cp312-manylinux_2_28_x86_64.whl (54.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pybest-2.2.0-cp311-cp311-manylinux_2_34_x86_64.whl (54.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

pybest-2.2.0-cp311-cp311-manylinux_2_34_aarch64.whl (49.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

pybest-2.2.0-cp311-cp311-manylinux_2_28_x86_64.whl (54.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pybest-2.2.0-cp310-cp310-manylinux_2_34_x86_64.whl (54.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

pybest-2.2.0-cp310-cp310-manylinux_2_34_aarch64.whl (49.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

pybest-2.2.0-cp310-cp310-manylinux_2_28_x86_64.whl (54.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

File details

Details for the file pybest-2.2.0-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 50e2dee71be615138b8aa130b0363b1bfaec19135d75008fcdb402d12599a06d
MD5 ff119c6a7206a4d02d3d730e28cabb1b
BLAKE2b-256 1c5f3de25568ce7218cfbcf860841478a7bb7aaa0cbf0f10c9da23a28fc05297

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp314-cp314-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 d3b65523321972bf24791bc3792838ca70042953a6054eb8f981125b94406886
MD5 4c6c854495811109992222afbfb45247
BLAKE2b-256 950b5701a2dab8e37923eb946ee576ce9a149c485953c5cd694670978582ae0d

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5f8e171401dd079f80cf902395606d100bc9efb8ceb0b5f278e6186b5de256b2
MD5 a3c13a8edf0ddef355552325c29a953a
BLAKE2b-256 ce9b39a9b48a5a709986193e5b39a242b4bbebe8d6cf7737342f9ab8563ec266

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 cbcd4143f375795f553fa428cb65ac4de2bb63f45a43644be8b10de402f12ce2
MD5 84eda0e26cf1ae80770f57856a2cf465
BLAKE2b-256 eac40e5974ebd14acabc705d3c48ebea732bcc8ffc8a088dbfca26428961b7ee

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 0d2b25809d72018a204074e8816506735477905ad3f40023cab9473283562ca1
MD5 3d21a4593230fd75842c0e500f730480
BLAKE2b-256 d8073f961d47881d809fb0211589446d25ea3a06507939eb957d88eae7c1c434

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f9cd357406bf501b13cf83ea0075cab451e4ac1a627808fbeff47c4095ae2bd8
MD5 c6dc9f7562c203c076c0af54097a1b89
BLAKE2b-256 700df44020528e1381394b03bde6fea6a9dbab0765a48003837c8f7c103eebd5

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp313-abi3-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp313-abi3-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 24e2ed115454bd82a5b0fc98a73e6b54d0ae27d035f4270b544305afdda5f0b3
MD5 aaeaf2d062bb21ffa4a1d1e65018830d
BLAKE2b-256 1cb8073eb1add4e6934536ff64a8eea12cf779fab1f90849de8abea3b6158a72

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 378ba64b071cdace4c2155bac6f16f282a2efeb44bcece29ac9a71bb7054be0d
MD5 152412e290068e3bbde4c2f26b4714ee
BLAKE2b-256 7d2c8603ac9dd3659f5debca4ce799a22def2a59545d6a707045e1834b45fd84

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 2d1075fc13fcc20f4d3be93f4233c72db641a822a06a4d9940890cb9880bfcee
MD5 6f41d4fde06c5dc15480f541dfb93565
BLAKE2b-256 d25539b4a02f9625f358085583f1067cd58f2434c14279080b612ad0d7bff8a9

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e12507d0bfeefb2939afdd8187f8d601cc64902afb7c99edbaca7f2ec79d4c10
MD5 fb6c8a20c19f7d6a1bedeea865ae8c0c
BLAKE2b-256 e541587aadd14358aaf67f6631e7bfe6251fdf6c0f716426fe8ff3d6c5dc115e

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0b3d57cd4b75ef552e1d988620b96146f687dd99470849706687e343bb419956
MD5 5ffa7593ffdfbde48181ca5ecc50c938
BLAKE2b-256 47084a6055241e7e4051dae4e0dbc37264dae931b70d9d44175bda4983c9e24e

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 fd9e7e0fcf1aa3ce286476d8f829a256fc36e8bb15264e4b2f098fb160a5ad55
MD5 8f23e3cccd8195ac5f97d0371b698311
BLAKE2b-256 2de519348a4e9fae77b7e47e4ee550f7cf873b623b6728ca60213c3eb6935b86

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 53639238fb7e619e9d4d002dd05b4fe669ddba29e2ca3cf30b5917073bf09cfa
MD5 cebe2d8d7835f32f7d7a8cfa9d0f8dd1
BLAKE2b-256 1eb9b3d6b98cd58055f35decf6fed5be0fcbdcc31897b2d3058b48648aafd6e8

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0072ebf6fa6e66d1bf2f29bef7654c6bdb16ab8f476fbac93a1e0839fa971bc5
MD5 6acf50c9230f3e48c4830e4ebcafbcfb
BLAKE2b-256 0cfb05b1416e3d8454f04247a64a412eb13b583304ed8bc0196b66b2c2888f7d

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 7ca9783f791c2fa0b029413ca8d06d5326382e5952f214b3f47ea1d0a86c8808
MD5 579049ed81555d27f2ceaa8e54d1fb35
BLAKE2b-256 08ae5255a110435eee06070b3d2f6e99fe16b630f92e88955597dc5bd6b227b1

See more details on using hashes here.

File details

Details for the file pybest-2.2.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.2.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7761b05a0f1962a89448e0d2363a402d449ad22f7d8173d31e830624f031c71c
MD5 0b593d24ac9265294d6648741cfb37b0
BLAKE2b-256 09303ea5fcc73e2a91ca260667067965b992ec61f99656c686dc2fb5a4594504

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