diff --git a/pkgs/development/python-modules/qiskit-optimization/default.nix b/pkgs/development/python-modules/qiskit-optimization/default.nix new file mode 100644 index 000000000000..5d9ae3d4375f --- /dev/null +++ b/pkgs/development/python-modules/qiskit-optimization/default.nix @@ -0,0 +1,63 @@ +{ lib +, pythonOlder +, buildPythonPackage +, fetchFromGitHub + # Python Inputs +, decorator +, docplex +, networkx +, numpy +, qiskit-terra +, scipy + # Check Inputs +, pytestCheckHook +, ddt +, pylatexenc +, qiskit-aer +}: + +buildPythonPackage rec { + pname = "qiskit-optimization"; + version = "0.2.3"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "qiskit"; + repo = pname; + rev = version; + sha256 = "sha256-y/j/cerzMAKVjehh1LUqYe1Juoa4lIxH2qS165S9img="; + }; + + postPatch = '' + substituteInPlace requirements.txt --replace "networkx>=2.2,<2.6" "networkx" + ''; + + propagatedBuildInputs = [ + docplex + decorator + networkx + numpy + qiskit-terra + scipy + ]; + + checkInputs = [ + pytestCheckHook + ddt + pylatexenc + qiskit-aer + ]; + + pythonImportsCheck = [ "qiskit_optimization" ]; + pytestFlagsArray = [ "--durations=10" ]; + + 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 fa66cc836c65..ce19c4508895 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-optimization = callPackage ../development/python-modules/qiskit-optimization { }; + qiskit-terra = callPackage ../development/python-modules/qiskit-terra { }; qrcode = callPackage ../development/python-modules/qrcode { };