at 23.11-beta 1.6 kB view raw
1{ lib 2, pythonOlder 3, buildPythonPackage 4, fetchFromGitHub 5 # Python Inputs 6, qiskit-aer 7, qiskit-ibmq-provider 8, qiskit-ignis 9, qiskit-terra 10 # Optional inputs 11, withOptionalPackages ? true 12, qiskit-finance 13, qiskit-machine-learning 14, qiskit-nature 15, qiskit-optimization 16 # Check Inputs 17, pytestCheckHook 18}: 19 20let 21 optionalQiskitPackages = [ 22 qiskit-finance 23 qiskit-machine-learning 24 qiskit-nature 25 qiskit-optimization 26 ]; 27in 28buildPythonPackage rec { 29 pname = "qiskit"; 30 # NOTE: This version denotes a specific set of subpackages. See https://qiskit.org/documentation/release_notes.html#version-history 31 version = "0.41.1"; 32 33 disabled = pythonOlder "3.6"; 34 35 src = fetchFromGitHub { 36 owner = "Qiskit"; 37 repo = "qiskit"; 38 rev = "refs/tags/${version}"; 39 hash = "sha256-ICJJvbekvpaBMnSf+NHbTiarb+Ye3NtktcRYAq8KaCs="; 40 }; 41 42 propagatedBuildInputs = [ 43 qiskit-aer 44 qiskit-ibmq-provider 45 qiskit-ignis 46 qiskit-terra 47 ] ++ lib.optionals withOptionalPackages optionalQiskitPackages; 48 49 nativeCheckInputs = [ pytestCheckHook ]; 50 51 pythonImportsCheck = [ 52 "qiskit" 53 "qiskit.circuit" 54 "qiskit.ignis" 55 "qiskit.providers.aer" 56 "qiskit.providers.ibmq" 57 ]; 58 59 meta = with lib; { 60 description = "Software for developing quantum computing programs"; 61 homepage = "https://qiskit.org"; 62 downloadPage = "https://github.com/QISKit/qiskit/releases"; 63 changelog = "https://qiskit.org/documentation/release_notes.html"; 64 license = licenses.asl20; 65 maintainers = with maintainers; [ drewrisinger pandaman ]; 66 }; 67}