at master 1.7 kB view raw
1{ 2 lib, 3 pythonOlder, 4 buildPythonPackage, 5 fetchFromGitHub, 6 7 # build-system 8 setuptools, 9 10 # Python Inputs 11 qiskit-aer, 12 qiskit-ibmq-provider, 13 qiskit-ignis, 14 qiskit-terra, 15 # Optional inputs 16 withOptionalPackages ? true, 17 qiskit-finance, 18 qiskit-machine-learning, 19 qiskit-nature, 20 qiskit-optimization, 21 # Check Inputs 22 pytestCheckHook, 23}: 24 25let 26 optionalQiskitPackages = [ 27 qiskit-finance 28 qiskit-machine-learning 29 qiskit-nature 30 qiskit-optimization 31 ]; 32in 33buildPythonPackage rec { 34 pname = "qiskit"; 35 # NOTE: This version denotes a specific set of subpackages. See https://qiskit.org/documentation/release_notes.html#version-history 36 version = "2.1.1"; 37 pyproject = true; 38 39 disabled = pythonOlder "3.6"; 40 41 src = fetchFromGitHub { 42 owner = "Qiskit"; 43 repo = "qiskit"; 44 tag = version; 45 hash = "sha256-WHfsl/T4lmnvkGY7gF5PStilGq3G66TZG9oB1tKwuOQ="; 46 }; 47 48 nativeBuildInputs = [ setuptools ]; 49 50 propagatedBuildInputs = [ 51 qiskit-aer 52 qiskit-ibmq-provider 53 qiskit-ignis 54 qiskit-terra 55 ] 56 ++ lib.optionals withOptionalPackages optionalQiskitPackages; 57 58 nativeCheckInputs = [ pytestCheckHook ]; 59 60 pythonImportsCheck = [ 61 "qiskit" 62 "qiskit.circuit" 63 "qiskit.ignis" 64 "qiskit.providers.aer" 65 "qiskit.providers.ibmq" 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/releases"; 72 changelog = "https://qiskit.org/documentation/release_notes.html"; 73 license = licenses.asl20; 74 maintainers = with maintainers; [ 75 drewrisinger 76 pandaman 77 ]; 78 }; 79}