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