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 # Check Inputs
12, pytestCheckHook
13}:
14
15buildPythonPackage rec {
16 pname = "qiskit";
17 # NOTE: This version denotes a specific set of subpackages. See https://qiskit.org/documentation/release_notes.html#version-history
18 version = "0.20.0";
19
20 disabled = pythonOlder "3.5";
21
22 src = fetchFromGitHub {
23 owner = "Qiskit";
24 repo = "qiskit";
25 rev = version;
26 sha256 = "1r23pjnql49gczf4k4m6ir5rr95gqdxjrks60p8a93d243mxx3c9";
27 };
28
29 propagatedBuildInputs = [
30 qiskit-aer
31 qiskit-aqua
32 qiskit-ibmq-provider
33 qiskit-ignis
34 qiskit-terra
35 ];
36
37 checkInputs = [ pytestCheckHook ];
38 dontUseSetuptoolsCheck = true;
39
40 pythonImportsCheck = [
41 "qiskit"
42 "qiskit.aqua"
43 "qiskit.circuit"
44 "qiskit.ignis"
45 "qiskit.providers.aer"
46 ];
47
48 meta = with lib; {
49 description = "Software for developing quantum computing programs";
50 homepage = "https://qiskit.org";
51 downloadPage = "https://github.com/QISKit/qiskit/releases";
52 changelog = "https://qiskit.org/documentation/release_notes.html";
53 license = licenses.asl20;
54 maintainers = with maintainers; [ drewrisinger pandaman ];
55 };
56}