1{ lib
2, pythonOlder
3, pythonAtLeast
4, buildPythonPackage
5, fetchFromGitHub
6, fetchpatch
7 # Python Inputs
8, fastdtw
9, numpy
10, psutil
11, qiskit-terra
12, scikit-learn
13, sparse
14, torch
15 # Check Inputs
16, pytestCheckHook
17, ddt
18, pytest-timeout
19, qiskit-aer
20}:
21
22buildPythonPackage rec {
23 pname = "qiskit-machine-learning";
24 version = "0.4.0";
25
26 disabled = pythonOlder "3.6";
27
28 src = fetchFromGitHub {
29 owner = "qiskit";
30 repo = pname;
31 rev = "refs/tags/${version}";
32 sha256 = "sha256-WZSXt+sVeO64wCVbDgBhuGvo5jTn/JKh9oNSO7ZY9wo=";
33 };
34
35 propagatedBuildInputs = [
36 fastdtw
37 numpy
38 psutil
39 torch
40 qiskit-terra
41 scikit-learn
42 sparse
43 ];
44
45 doCheck = false; # TODO: enable. Tests fail on unstable due to some multithreading issue?
46 checkInputs = [
47 pytestCheckHook
48 pytest-timeout
49 ddt
50 qiskit-aer
51 ];
52
53 pythonImportsCheck = [ "qiskit_machine_learning" ];
54
55 pytestFlagsArray = [
56 "--durations=10"
57 "--showlocals"
58 "-vv"
59 "--ignore=test/connectors/test_torch_connector.py" # TODO: fix, get multithreading errors with python3.9, segfaults
60 ];
61 disabledTests = [
62 # Slow tests >10 s
63 "test_readme_sample"
64 "test_vqr_8"
65 "test_vqr_7"
66 "test_qgan_training_cg"
67 "test_vqc_4"
68 "test_classifier_with_circuit_qnn_and_cross_entropy_4"
69 "test_vqr_4"
70 "test_regressor_with_opflow_qnn_4"
71 "test_qgan_save_model"
72 "test_qgan_training_analytic_gradients"
73 "test_qgan_training_run_algo_numpy"
74 "test_ad_hoc_data"
75 "test_qgan_training"
76 ];
77
78 meta = with lib; {
79 description = "Software for developing quantum computing programs";
80 homepage = "https://qiskit.org";
81 downloadPage = "https://github.com/QISKit/qiskit-optimization/releases";
82 changelog = "https://qiskit.org/documentation/release_notes.html";
83 license = licenses.asl20;
84 maintainers = with maintainers; [ drewrisinger ];
85 };
86}