at 22.05-pre 1.6 kB view raw
1{ lib 2, pythonOlder 3, buildPythonPackage 4, fetchFromGitHub 5 # Python Inputs 6, qiskit-aer 7, qiskit-aqua 8, qiskit-ibmq-provider 9, qiskit-ignis 10, qiskit-terra 11 # Optional inputs 12, withOptionalPackages ? true 13, qiskit-finance 14, qiskit-machine-learning 15, qiskit-nature 16, qiskit-optimization 17 # Check Inputs 18, pytestCheckHook 19}: 20 21let 22 optionalQiskitPackages = [ 23 qiskit-finance 24 qiskit-machine-learning 25 qiskit-nature 26 qiskit-optimization 27 ]; 28in 29buildPythonPackage rec { 30 pname = "qiskit"; 31 # NOTE: This version denotes a specific set of subpackages. See https://qiskit.org/documentation/release_notes.html#version-history 32 version = "0.32.0"; 33 34 disabled = pythonOlder "3.6"; 35 36 src = fetchFromGitHub { 37 owner = "qiskit"; 38 repo = "qiskit"; 39 rev = version; 40 sha256 = "sha256-fKR072hOD0a9TtWulqyKUT3Riwq+NHTtciR+NN5JC1Y="; 41 }; 42 43 propagatedBuildInputs = [ 44 qiskit-aer 45 qiskit-aqua 46 qiskit-ibmq-provider 47 qiskit-ignis 48 qiskit-terra 49 ] ++ lib.optionals withOptionalPackages optionalQiskitPackages; 50 51 checkInputs = [ pytestCheckHook ]; 52 53 pythonImportsCheck = [ 54 "qiskit" 55 "qiskit.aqua" 56 "qiskit.circuit" 57 "qiskit.ignis" 58 "qiskit.providers.aer" 59 "qiskit.providers.ibmq" 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/releases"; 66 changelog = "https://qiskit.org/documentation/release_notes.html"; 67 license = licenses.asl20; 68 maintainers = with maintainers; [ drewrisinger pandaman ]; 69 }; 70}