Skip to content

Instantly share code, notes, and snippets.

@loriab
Created June 21, 2023 18:05
Show Gist options
  • Save loriab/31b3521b0e58334fee345b4df035fde9 to your computer and use it in GitHub Desktop.
Save loriab/31b3521b0e58334fee345b4df035fde9 to your computer and use it in GitHub Desktop.
#docstring:
# - dummy: # Item name required. <dummy> is replaced by the Psi4 internal label used for CMake (e.g., TODO FALSE ENABLE_<dummy>, external/upstream/<dummy>/CMakeLists.txt) and testing (e.g., @using('<dummy>')).
# use: !!map # Section required. Important Psi4 dependency usage information.
# added: !!str # Field required. Minor version at which <dummy> added to Psi4 ecosystem. v1.0 is earliest value.
# deprecated: !!str # Minor version at which <dummy> removed from Psi4 ecosystem. Further fields not present.
# required: !!bool # Field required. Whether <dummy> is a required Psi4 dependency.
# buildable: !!bool # Field required. If <dummy> is required or enabled, `true` if the Psi4 build system can supply it by building from source or `false` if it must be detectable pre-built.
# buildtime: !!bool # Field required. Whether <dummy> is compile-linkage (`true`) or runtume-linkage (`false`); some runtime are marked `true` if required to detect at buildtime even if not used until runtime.
# cms: !!bool # Field required. Whether <dummy> is a computational molecular sciences project vs. generic compsci.
# repository: !!map # Section required if use/buildable=true. Where to acquire source code to build.
# host: !!str # Field required. (github | gitlab | url)
# url: !!str # Field required if host=url. Full url to tarball for source.
# account: !!str # Field required if host!=url. Personal or organization account name on host.
# name: !!str or !!set # Field required if host!=url. Project name on host/account. Use list for optional dependencies
# commit: !!str # Field required if host!=url. The tag, branch, or hash of the repository at which to pull source. Usually latest compatible release, not earliest compatible release.
# cmake: !!map # Section required if use/buildable=true. How/what to detect <dummy> with `find_package(<cmake/name> <cmake/constraint> COMPONENTS <cmake/components>)`.
# name: !!str # Field required. CMake project name in `find_package` call. Often has capital letters.
# constraint: # Field required. Version of earliest compatible release. May also include ATLEAST or EXACT. Remember CMake has only crude spec for version constraints.
# target: !!str # Field required. Target <cmake/name>::<cmake/target>> used by Psi4. Field may be `null` if no target, like for CMake-built python package.
# components: !!set # Field required. Required components for pre-built to be accepted. Field may be `null` if no components.
# conda: !!map # Section required if use/required=true.
# channel: !!str # Field required. Preferred channel on anaconda.org suitable for `-c`. Use the broadest if conda/name on multiple channels or subchannels.
# name: !!str # Field required. The conda package name. Use minimal required package (e.g., libxc-c (C intf) rather than libxc (C & Fortran intf)).
# constraint: !!str # Field required. Version of ????. Field may be `null` if most recent (for minimum) and any run_export (for maximum) settings will do.
# transitive_run_names: !!set
# transitive_build_names: !!set
data:
# add in alphabetical order (ignoring "lib")
# gitlab URL https://gitlab.com/libxc/libxc/-/archive/6.0.0/libxc-6.0.0.tar.gz
# github URL https://github.com/MolSSI-BSE/basis_set_exchange/archive/v0.9.tar.gz
# any field is also allowed a <field>_note so comments are useable.
- project: adcc
use:
added: 1.4
required: false
buildable: true
buildtime: false
cms: true
repository:
host: github
account: adc-connect
name: adcc
commit: v0.15.13
cmake:
name: adcc
constraint: ATLEAST 0.15.13
# target:
# components:
conda:
channel: conda-forge
name: adcc
constraint: ">=0.15.16"
- project: ambit
use:
added: 1.2 # ambit appears in repo by 1.0, but the table in v1.4 paper says v1.2
required: false
buildable: true
buildtime: true
cms: true
repository:
host: github
account: jturney
name: ambit
commit: bda0f02 # recent for c-f
# commit: 733c529 # current master
# cmake:
# name:
# constraint: 0.6
# target: ambit::ambit
# components:
conda: null
#channel: conda-forge
#name:
#constraint:
- project: brianqc
use:
added: 1.4
required: false
buildable: false
buildtime: true
cms: true
repository: null
# host:
# account:
# name:
# commit:
# cmake:
# name:
# constraint: "1.1"
# target: BrianQC::static_wrapper
# required:
# buildtime:
conda: null
- project: bse
use:
added: 1.8
required: false
buildable: true
buildtime: false
cms: true
repository:
host: github
account: MolSSI-BSE
name: basis_set_exchange
commit: v0.9
# cmake:
# name:
# constraint: ATLEAST 0.9.0
# required: false
# buildtime: false
conda:
channel: conda-forge
name: basis_set_exchange
constraint: null
- project: chemps2
use:
added: "1.0" # external at 1.1
required: false
buildable: true
buildtime: true
cms: true
repository:
host: github
account: SebWouters
name: CheMPS2
commit: d8ac508 # v1.8.9 + 1 # TODO update
# cmake:
# name: CheMPS2
# constraint: 1.8.7
# target: CheMPS2::chemps2
# required: false
# buildtime: true
conda: null
#channel: conda-forge
#name:
#constraint:
- project: cppe
use:
added: 1.4
required: false
buildable: true
buildtime: false
cms: true
repository:
host: github
account: maxscheurer
name: cppe
commit: v0.3.1
# cmake:
# name: cppe
# constraint: ATLEAST 0.3.1
# target:
conda:
channel: conda-forge
name: cppe
name_note: "Equivalent to psi4::pycppe ."
constraint: ">=0.3.1"
- project: ddx
use:
added: 1.7
required: false
buildable: true
buildtime: false
cms: true
repository:
host: github
account: ddsolvation
name: ddX
commit: v0.4.3 # TODO update
# commit: v0.3.0
# cmake:
# name:
# constraint: ATLEAST 0.3.0
# target:
# components:
conda:
channel: conda-forge
name: pyddx
constraint: ">=0.4.3"
constraint_note: "v0.4.3 las LBP correct correction."
- project: dftd3
use:
added: "1.0"
added_note: "Switched from classic dftd3 exe to py intf of simple-dftd3 (from dftd3-python) at 1.7. Classic still supported as of 1.8."
required: false
buildable: false
buildtime: false
cms: true
repository:
host: github
account: dftd3
name: simple-dftd3
commit: v0.7.0 # TODO not in psi src
# cmake:
# name:
# constraint:
# target:
# components:
conda:
channel: conda-forge
name: dftd3-python
constraint: ">=0.6.0"
- project: dftd4
use:
added: 1.5
added_note: "Py intf of dftd4 was equivalently packaged as psi4::dftd4 and conda-forge::dftd4-python. Switched preference from former to latter at 1.7. former still supported as of 1.8."
required: false
buildable: false
buildtime: false
cms: true
repository:
host: github
account: dftd4
name: dftd4
commit: v3.5.0 # TODO will be needed for scan
# cmake:
# name:
# constraint:
# target:
# components:
conda:
channel: conda-forge
name: dftd4-python
name_note: "Equivalent to psi4::dftd4 . toml needed for qcengine/dftd4-python interface."
constraint: ">=3.3.0"
transitive_run_names:
- toml
- project: dkh
use:
added: "1.0" # external at 1.1
required: false
buildable: true
buildtime: true
cms: true
repository:
host: github
account: psi4
name: dkh
commit: 3ba0128
# commit: v1.2
# cmake:
# name: dkh
# constraint: 1.2
# target: dkh::dkh
conda:
channel: conda-forge
name: dkh
constraint: ">=1.2"
- project: ecpint
use:
added: 1.6
required: false
buildable: true
buildtime: true
cms: true
repository:
host: github
account: robashaw
name: libecpint
commit: v1.0.7 # TODO needs PR
# cmake:
# name: ecpint
# constraint: 1.0.7
# target: ECPINT::ecpint
conda:
channel: conda-forge
name: libecpint
constraint: ">=1.0.7"
- project: libefp
use:
added: "1.0" # external at 1.1
added_note: "Switched to Py intf through pylibefp at 1.3."
required: false
buildable: true
buildtime: false
cms: true
repository:
host: github
account: loriab
name: pylibefp
commit: v0.6.1 # libefp itself 15cd7ce = v1.5.0 + 10
# cmake:
# name: pylibefp
# constraint: 0.6.1
# target: pylibefp::core
#components: shallow
conda:
channel: conda-forge
name: pylibefp
constraint: "==0.6.2"
- project: erd
use:
added: "1.0" # external at 1.1
deprecated: 1.2
repository: null
cmake: null
conda: null
- project: gau2grid
use:
added: 1.2
required: true
buildable: true
buildtime: true
cms: true
repository:
host: github
account: dgasmith
name: gau2grid
commit: v2.0.7
# cmake:
# name: gau2grid
# constraint: 2.0
# target: gau2grid::gg
conda:
channel: conda-forge
name: gau2grid
constraint: ">=2.0.7"
- project: gcp
use:
added: 1.1
added_note: "Switched from classic gcp exe to mctc-gcp exe (from gcp-correction) at 1.7. Classic still supported as of 1.8."
required: false
buildable: false
buildtime: false
cms: true
repository:
host: github
account: grimme-lab
name: gcp
commit: v2.3.1
# cmake:
# name:
# constraint:
# target:
# components:
conda:
channel: conda-forge
name: gcp-correction
constraint: ">=2.3.1"
- project: gdma
use:
added: "1.0" # external at 1.1
required: false
buildable: true
buildtime: true
cms: true
repository:
host: github
account: psi4
name: gdma
commit: 9d607d7 # v2.2.6-2-g9d607d7
# cmake:
# name: gdma
# constraint: 2.2.6
# target: gdma::gdma
conda: null
#channel: conda-forge
#name:
#constraint:
- project: geometric
use:
added: 1.4
required: false
buildable: false
buildtime: false
cms: true
repository:
host: github
account: leeping
name: geomeTRIC
commit: "1.0"
# cmake:
# name:
# constraint:
# target:
# components:
conda:
channel: conda-forge
name: geometric
constraint: ">=1.0"
constraint_note: "v1.0 has new API."
# - pylibefp ==0.6.2 # 0.6.2 provides windows arch
# # - dftd4-python >=3.5.0 # 3.5.0 provides b97-3c parameters
# - adcc >=0.15.16 # 0.15.16 has transition moment corrections
- project: libint
use:
added: "1.0"
added_note: "Switched from Libint1 to C++11 intf of Libint2 at 1.4."
required: true
buildable: true
buildtime: true
cms: true
repository:
host: github
account: evaleev
#account: loriab # TODO using evaleev for license but commit only at loriab
name: libint
commit: 0eca57e
# cmake:
# name: Libint2
# constraint:
# target: Libint2::cxx
# components:
# - gss
# - CXX_ho
# - impure_sh
# - "eri_c4_d0_l${MAX_AM_ERI}"
# - eri_c4_d1_l2
# - eri_c4_d2_l2
# - eri_c3_d0_l4
# - eri_c3_d1_l3
# - eri_c3_d2_l3
# - eri_c2_d0_l4
# - eri_c2_d1_l3
# - eri_c2_d2_l3
# - onebody_d0_l4
# - onebody_d1_l3
# - onebody_d2_l3
conda:
channel: conda-forge/label/libint_dev
name: libint
constraint: "==2.7.3dev1"
constraint_note: "v2.7.3dev1 provides rt-switchable ordering (src) and derivative integrals (build)."
transitive_build_names:
- boost-cpp
- eigen
- project: mdi
use:
added: 1.4
required: false
buildable: true
buildtime: false
cms: true
repository:
host: github
account: MolSSI-MDI
name: MDI_Library
commit: v1.2.3
# cmake:
# name: mdi
# constraint: 1.2.3
# target: mdi::mdi
# components: null
conda:
channel: conda-forge
name: pymdi
constraint: ">=1.2"
constraint_note: "v1.2 has breaking API change."
- project: mp2d
use:
added: 1.4
required: false
buildable: false
buildtime: false
cms: true
repository:
host: github
account: Chandemonium
name: MP2D
commit: c6c7f86
# cmake:
# name:
# constraint:
# target:
# components:
conda: null
#channel: conda-forge
#name:
#constraint:
- project: mrcc
use:
added: "1.0"
required: false
buildable: false
buildtime: false
cms: true
repository: null
# host: github
# account:
# name:
# commit:
# cmake:
# name:
# constraint:
# target:
# components:
conda: null
- project: openfermionpsi4
use:
added: 1.3
required: false
buildable: false
buildtime: false
cms: true
repository:
host: github
account: quantumlib
name: OpenFermion-Psi4
commit: v0.5 # TODO update
#cmake:
# name:
# constraint:
# target:
# components:
conda:
channel: conda-forge
name: openfermionpsi4
constraint: null
- project: optking
use:
added: 1.7
required: true
buildable: true
buildtime: true
buildtime_note: "buildtime for cmake checks; otherwise, runtime."
cms: true
repository:
host: github
account: psi-rking
name: optking
commit: 0.2.1
# cmake:
# name: optking
# constraint: ATLEAST 0.2.1
# target:
# components:
conda:
channel: conda-forge
name: optking
constraint: ">=0.2.1"
- project: pcmsolver
use:
added: "1.0" # external at 1.1
required: false
buildable: true
buildtime: true
cms: true
repository:
host: github
account: loriab
name: pcmsolver
commit: v1211 # TODO update in PR
# cmake:
# name: PCMSolver
# constraint: 1.2.1
# target: PCMSolver::pcm
conda:
channel: conda-forge
name: pcmsolver
constraint: "1.2.3"
- project: pybind11
use:
added: 1.1 # previously, boost-python
required: true
buildable: true
buildtime: true
cms: false
repository:
host: github
account: pybind
name: pybind11
commit: v2.10.1
# cmake:
# name: pybind11 # detect Python before pybind11
# constraint: 2.10.1
# target:
conda:
channel: conda-forge
name: pybind11
#- pybind11-abi
constraint: ">=2.10.*"
- project: pytest
use:
added: 1.1
required: false
required_note: "Required for `psi4 --test` or `psi4.test()` ."
buildable: false
buildtime: false
cms: false
conda:
channel: conda-forge
name: pytest
constraint: ">=7.0.1"
- project: qcelemental
use:
added: 1.3
required: true
buildable: true
buildtime: true
buildtime_note: "buildtime for cmake checks; otherwise, runtime."
cms: true
repository:
host: github
account: MolSSI
name: QCElemental
commit: v0.25.1
# cmake:
# name:
# constraint: ATLEAST 0.24.0
# target:
# components:
conda:
channel: conda-forge
name: qcelemental
constraint: ""
transitive_run_names:
- msgpack-python
- networkx
- project: qcengine
use:
added: 1.4
required: true
buildable: true
buildtime: true
buildtime_note: "buildtime for cmake checks; otherwise, runtime."
cms: true
repository:
host: github
account: MolSSI
name: QCEngine
commit: v0.26.0
# cmake:
# name: qcengine
# constraint: ATLEAST 0.26.0
# target:
conda:
channel: conda-forge
name: qcengine
constraint: ""
- project: qcfractal
use:
added: 1.6
required: false
buildable: false
buildtime: false
cms: true
repository:
host: github
account: MolSSI
name: QCFractal
commit: next # TODO branch
cmake: null
conda:
channel: qcarchive/label/next
name: qcfractal
name_note: "postgresql is easiest way to use a QCFractal Snowflake, but it's not necessary if you supply your own database."
constraint: ">=0.50b10"
transitive_run_names:
- postgresql
- project: simint
use:
added: 1.1
required: false
buildable: true
buildtime: true
cms: true
repository:
host: url
url: http://www.bennyp.org/research/simint/download/simint-v0.7.tar.bz2
# cmake:
# name: simint
# constraint: 0.7
# target: simint::simint
components:
- "am${MAX_AM_ERI}"
- der0
conda: null
#channel: conda-forge
#name:
#constraint:
- project: libxc
use:
added: 1.2
required: true
buildable: true
buildtime: true
cms: true
repository:
host: gitlab
account: libxc
name: libxc
commit: 6.1.0 # TODO update
# cmake:
# name: Libxc
# constraint: 5.1.2 # two calls: catch v5, v6
# target: Libxc::xc
components:
- C
conda:
channel: conda-forge
name: libxc-c
constraint: null
# - project: dummy
# use:
# added:
# required:
# buildable:
# buildtime:
# cms:
# repository:
# host: github
# account:
# name:
# commit:
# cmake:
# name:
# constraint:
# target:
# components:
# conda:
# channel: conda-forge
# name:
# constraint:
- project: cxx
use:
added: "1.0"
required: true
buildable: false
buildtime: true
cms: false
repository: null
cmake: null
conda:
channel: conda-forge
name: cxx-compiler
constraint: null
- project: fortran
use:
added: "1.0"
required: false
required_note: "Required if building Fortran addons from source. Detected if Fortran addons enabled unless psi4_SKIP_ENABLE_Fortran=ON."
buildable: false
buildtime: true
cms: false
repository: null
cmake: null
conda:
channel: conda-forge
name: fortran-compiler
constraint: null
- project: generator
use:
added: "1.0"
required: true
buildable: false
buildtime: true
cms: false
repository: null
cmake: null
conda:
channel: conda-forge
name: ninja
name_note: "Examplar -- other build generators like Unix Makefiles work, too."
constraint: null
- project: cmake
use:
added: "1.0"
required: true
buildable: false
buildtime: true
cms: false
repository: null
cmake: null
conda:
channel: conda-forge
name: cmake
constraint: ">=3.15"
- project: numpy
use:
added: 1.1
required: true
buildable: false
buildtime_note: "buildtime for cmake checks; otherwise, runtime."
buildtime: true
cms: false
repository: null
cmake: null
conda:
channel: conda-forge
name: numpy
constraint: null
- project: lapack
use:
added: "1.0"
required: true
buildable: false
buildtime: true
cms: false
repository: null
cmake: null
conda:
channel: conda-forge
name: mkl-devel
name_run: "libblas=*=*mkl"
constraint: null
# - libblas=*=*mkl
# - python=3.10
# # build
# - boost-cpp
# - cmake
# - c-compiler
# - cxx-compiler
# - eigen
# - fortran-compiler
# - llvm-openmp
# - mkl-devel
# - ninja
# - numpy
# # qc req'd
# # qc opt'l
# # runtime
# - mkl
# - scipy
# - memory_profiler
# - tomli
# - pytest
# - pytest-xdist
# - pip
# - pip:
# - git+https://github.com/i-pi/i-pi.git@master-py3
# buildtime "ipi": which_import("ipi", return_bool=True),
# buildtime "cfour": psi4_which("xcfour", return_bool=True),
# buildtime "v2rdm_casscf": which_import("v2rdm_casscf", return_bool=True),
# buildtime "gpu_dfcc": which_import("gpu_dfcc", return_bool=True),
# buildtime "forte": which_import("forte", return_bool=True),
# buildtime "snsmp2": which_import("snsmp2", return_bool=True),
# buildtime "resp": which_import("resp", return_bool=True),
# buildtime "psi4fockci": which_import("psi4fockci", return_bool=True),
# buildtime "cct3": which_import("cct3", return_bool=True),
# buildtime "psixas": which_import("psixas", return_bool=True),
# buildable external/upstream/gtfock/CMakeLists.txt
# buildable external/downstream/cct3/CMakeLists.txt
# buildable external/downstream/gpu_dfcc/CMakeLists.txt
# buildable external/downstream/psi4fockci/CMakeLists.txt
# buildable external/downstream/snsmp2/CMakeLists.txt
# buildable external/downstream/v2rdm_casscf/CMakeLists.txt
#- project: libtensorlight
#- project: fockci
#- project: resp
#- project: snsmp2
#- project: v2rdm_casscf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment