diff --git a/pkgs/development/python-modules/qiskit/default.nix b/pkgs/development/python-modules/qiskit/default.nix new file mode 100644 index 00000000000..090358152e7 --- /dev/null +++ b/pkgs/development/python-modules/qiskit/default.nix @@ -0,0 +1,65 @@ +{ stdenv +, isPy3k +, buildPythonPackage +, fetchPypi +, fetchurl +, python +, numpy +, scipy +, sympy +, matplotlib +, networkx +, ply +, pillow +, cffi +, requests +, requests_ntlm +, IBMQuantumExperience +, cmake +, llvmPackages +}: + +buildPythonPackage rec { + pname = "qiskit"; + version = "0.4.15"; + + disabled = !isPy3k; + + src = fetchPypi { + inherit pname version; + sha256 = "bd126a35189f8303df41cb7b7f26b0d06e1fabf61f4fd567b8ec356d31170141"; + }; + + buildInputs = [ cmake ] + ++ stdenv.lib.optional stdenv.isDarwin llvmPackages.openmp; + + propagatedBuildInputs = [ + numpy + matplotlib + networkx + ply + scipy + sympy + pillow + cffi + requests + requests_ntlm + IBMQuantumExperience + ]; + + # Pypi's tarball doesn't contain tests + doCheck = false; + + patches = [ + ./setup.py.patch + ]; + + meta = { + description = "Quantum Software Development Kit for writing quantum computing experiments, programs, and applications"; + homepage = https://github.com/QISKit/qiskit-sdk-py; + license = stdenv.lib.licenses.asl20; + maintainers = with stdenv.lib.maintainers; [ + pandaman + ]; + }; +} diff --git a/pkgs/development/python-modules/qiskit/setup.py.patch b/pkgs/development/python-modules/qiskit/setup.py.patch new file mode 100644 index 00000000000..bb7cb71ae09 --- /dev/null +++ b/pkgs/development/python-modules/qiskit/setup.py.patch @@ -0,0 +1,19 @@ +--- a/setup.py ++++ b/setup.py +@@ -28,11 +28,11 @@ from setuptools.dist import Distribution + + requirements = [ + "IBMQuantumExperience>=1.8.29", +- "matplotlib>=2.1,<2.2", +- "networkx>=2.0,<2.1", +- "numpy>=1.13,<1.15", +- "ply==3.10", +- "scipy>=0.19,<1.1", ++ "matplotlib>=2.1", ++ "networkx>=2.0", ++ "numpy>=1.13", ++ "ply>=3.10", ++ "scipy>=0.19", + "sympy>=1.0", + "pillow>=4.2.1" + ] diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b6e88ca1cc6..17f3b27ebf9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -18203,6 +18203,8 @@ EOF gast = callPackage ../development/python-modules/gast { }; IBMQuantumExperience = callPackage ../development/python-modules/ibmquantumexperience { }; + + qiskit = callPackage ../development/python-modules/qiskit { }; }); in fix' (extends overrides packages)