From 11670aa1654aba068b7e49d9e62edbd26fcff891 Mon Sep 17 00:00:00 2001 From: Drew Risinger Date: Thu, 11 Nov 2021 20:07:56 -0500 Subject: [PATCH] python3Packages.qiskit-machine-learning: init at 0.2.1 --- .../qiskit-machine-learning/default.nix | 87 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 89 insertions(+) create mode 100644 pkgs/development/python-modules/qiskit-machine-learning/default.nix diff --git a/pkgs/development/python-modules/qiskit-machine-learning/default.nix b/pkgs/development/python-modules/qiskit-machine-learning/default.nix new file mode 100644 index 000000000000..a2006079c195 --- /dev/null +++ b/pkgs/development/python-modules/qiskit-machine-learning/default.nix @@ -0,0 +1,87 @@ +{ lib +, pythonOlder +, pythonAtLeast +, buildPythonPackage +, fetchFromGitHub +, fetchpatch + # Python Inputs +, fastdtw +, numpy +, psutil +, qiskit-terra +, scikit-learn +, sparse + # Optional inputs +, withTorch ? true +, pytorch + # Check Inputs +, pytestCheckHook +, ddt +, pytest-timeout +, qiskit-aer +}: + +buildPythonPackage rec { + pname = "qiskit-machine-learning"; + version = "0.2.1"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "qiskit"; + repo = pname; + rev = version; + sha256 = "sha256-2dfrkNZYSaXwiOCaRrPckq4BllANgc6BogyBcP0vosY="; + }; + + propagatedBuildInputs = [ + fastdtw + numpy + psutil + qiskit-terra + scikit-learn + sparse + ] ++ lib.optional withTorch pytorch; + + doCheck = false; # TODO: enable. Tests fail on unstable due to some multithreading issue? + checkInputs = [ + pytestCheckHook + pytest-timeout + ddt + qiskit-aer + ]; + + pythonImportsCheck = [ "qiskit_machine_learning" ]; + + pytestFlagsArray = [ + "--durations=10" + "--showlocals" + "-vv" + "--ignore=test/connectors/test_torch_connector.py" # TODO: fix, get multithreading errors with python3.9, segfaults + ]; + disabledTests = [ + # Slow tests >10 s + "test_readme_sample" + "test_vqr_8" + "test_vqr_7" + "test_qgan_training_cg" + "test_vqc_4" + "test_classifier_with_circuit_qnn_and_cross_entropy_4" + "test_vqr_4" + "test_regressor_with_opflow_qnn_4" + "test_qgan_save_model" + "test_qgan_training_analytic_gradients" + "test_qgan_training_run_algo_numpy" + "test_ad_hoc_data" + "test_qgan_training" + ]; + + meta = with lib; { + description = "Software for developing quantum computing programs"; + homepage = "https://qiskit.org"; + downloadPage = "https://github.com/QISKit/qiskit-optimization/releases"; + changelog = "https://qiskit.org/documentation/release_notes.html"; + license = licenses.asl20; + maintainers = with maintainers; [ drewrisinger ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ce19c4508895..4ce522823034 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7913,6 +7913,8 @@ in { qiskit-ignis = callPackage ../development/python-modules/qiskit-ignis { }; + qiskit-machine-learning = callPackage ../development/python-modules/qiskit-machine-learning { }; + qiskit-optimization = callPackage ../development/python-modules/qiskit-optimization { }; qiskit-terra = callPackage ../development/python-modules/qiskit-terra { };