1{
2 lib,
3 pythonOlder,
4 buildPythonPackage,
5 fetchFromGitHub,
6
7 # build-system
8 setuptools,
9
10 # Python Inputs
11 h5py,
12 numpy,
13 psutil,
14 qiskit-terra,
15 rustworkx,
16 scikit-learn,
17 scipy,
18 withPyscf ? false,
19 pyscf,
20 # Check Inputs
21 pytestCheckHook,
22 ddt,
23 pylatexenc,
24 qiskit-aer,
25}:
26
27buildPythonPackage rec {
28 pname = "qiskit-nature";
29 version = "0.7.2";
30 pyproject = true;
31
32 disabled = pythonOlder "3.6";
33
34 src = fetchFromGitHub {
35 owner = "Qiskit";
36 repo = pname;
37 rev = "refs/tags/${version}";
38 hash = "sha256-SVzg3McB885RMyAp90Kr6/iVKw3Su9ucTob2jBckBo0=";
39 };
40
41 nativeBuildInputs = [ setuptools ];
42
43 propagatedBuildInputs = [
44 h5py
45 numpy
46 psutil
47 qiskit-terra
48 rustworkx
49 scikit-learn
50 scipy
51 ]
52 ++ lib.optional withPyscf pyscf;
53
54 nativeCheckInputs = [
55 pytestCheckHook
56 ddt
57 pylatexenc
58 qiskit-aer
59 ];
60
61 pythonImportsCheck = [ "qiskit_nature" ];
62
63 pytestFlags = [ "--durations=10" ];
64
65 disabledTests = [
66 "test_two_qubit_reduction" # failure cause unclear
67 ];
68
69 meta = with lib; {
70 description = "Software for developing quantum computing programs";
71 homepage = "https://qiskit.org";
72 downloadPage = "https://github.com/QISKit/qiskit-nature/releases";
73 changelog = "https://qiskit.org/documentation/release_notes.html";
74 sourceProvenance = with sourceTypes; [
75 fromSource
76 binaryNativeCode # drivers/gaussiand/gauopen/*.so
77 ];
78 license = licenses.asl20;
79 maintainers = with maintainers; [ drewrisinger ];
80 };
81}