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}