1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 ipykernel,
6 msgpack,
7 networkx,
8 nglview,
9 numpy,
10 psutil,
11 py-cpuinfo,
12 pydantic,
13 pytestCheckHook,
14 pyyaml,
15 qcelemental,
16 scipy,
17 setuptools,
18}:
19
20buildPythonPackage rec {
21 pname = "qcengine";
22 version = "0.33.0";
23 pyproject = true;
24
25 src = fetchPypi {
26 inherit pname version;
27 hash = "sha256-Ute8puO2qc679ttZgzQRnVO8OuBmYnqLT3y7faHpRgA=";
28 };
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 msgpack
34 numpy
35 psutil
36 py-cpuinfo
37 pydantic
38 pyyaml
39 qcelemental
40 ];
41
42 optional-dependencies = {
43 align = [
44 networkx
45 scipy
46 ];
47 viz = [
48 ipykernel
49 nglview
50 ];
51 };
52
53 nativeCheckInputs = [ pytestCheckHook ] ++ lib.flatten (builtins.attrValues optional-dependencies);
54
55 pythonImportsCheck = [ "qcengine" ];
56
57 meta = with lib; {
58 description = "Quantum chemistry program executor and IO standardizer (QCSchema) for quantum chemistry";
59 homepage = "https://molssi.github.io/QCElemental/";
60 license = licenses.bsd3;
61 maintainers = with maintainers; [ sheepforce ];
62 mainProgram = "qcengine";
63 };
64}