at 24.11-pre 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 = "1.0.1"; 37 pyproject = true; 38 39 disabled = pythonOlder "3.6"; 40 41 src = fetchFromGitHub { 42 owner = "Qiskit"; 43 repo = "qiskit"; 44 rev = "refs/tags/${version}"; 45 hash = "sha256-Cjfn+9h8W08FcAlVC7b7O8Z+VGx5UeHosSgYJin/evE="; 46 }; 47 48 nativeBuildInputs = [ setuptools ]; 49 50 propagatedBuildInputs = [ 51 qiskit-aer 52 qiskit-ibmq-provider 53 qiskit-ignis 54 qiskit-terra 55 ] ++ lib.optionals withOptionalPackages optionalQiskitPackages; 56 57 nativeCheckInputs = [ pytestCheckHook ]; 58 59 pythonImportsCheck = [ 60 "qiskit" 61 "qiskit.circuit" 62 "qiskit.ignis" 63 "qiskit.providers.aer" 64 "qiskit.providers.ibmq" 65 ]; 66 67 meta = with lib; { 68 description = "Software for developing quantum computing programs"; 69 homepage = "https://qiskit.org"; 70 downloadPage = "https://github.com/QISKit/qiskit/releases"; 71 changelog = "https://qiskit.org/documentation/release_notes.html"; 72 license = licenses.asl20; 73 maintainers = with maintainers; [ 74 drewrisinger 75 pandaman 76 ]; 77 }; 78}