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 ] ++ lib.optional withPyscf pyscf;
52
53 nativeCheckInputs = [
54 pytestCheckHook
55 ddt
56 pylatexenc
57 qiskit-aer
58 ];
59
60 pythonImportsCheck = [ "qiskit_nature" ];
61
62 pytestFlagsArray = [ "--durations=10" ];
63
64 disabledTests = [
65 "test_two_qubit_reduction" # failure cause unclear
66 ];
67
68 meta = with lib; {
69 description = "Software for developing quantum computing programs";
70 homepage = "https://qiskit.org";
71 downloadPage = "https://github.com/QISKit/qiskit-nature/releases";
72 changelog = "https://qiskit.org/documentation/release_notes.html";
73 sourceProvenance = with sourceTypes; [
74 fromSource
75 binaryNativeCode # drivers/gaussiand/gauopen/*.so
76 ];
77 license = licenses.asl20;
78 maintainers = with maintainers; [ drewrisinger ];
79 };
80}