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