summary refs log tree commit diff
path: root/pkgs/development/python-modules/qiskit-ignis/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/qiskit-ignis/default.nix')
-rw-r--r--pkgs/development/python-modules/qiskit-ignis/default.nix62
1 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/qiskit-ignis/default.nix b/pkgs/development/python-modules/qiskit-ignis/default.nix
new file mode 100644
index 00000000000..2f0a99dc0f8
--- /dev/null
+++ b/pkgs/development/python-modules/qiskit-ignis/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, pythonOlder
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, numpy
+, qiskit-terra
+, scipy
+  # Check Inputs
+, pytestCheckHook
+, qiskit-aer
+}:
+
+buildPythonPackage rec {
+  pname = "qiskit-ignis";
+  version = "0.2.0";
+
+  disabled = pythonOlder "3.5";
+
+  # Pypi's tarball doesn't contain tests
+  src = fetchFromGitHub {
+    owner = "Qiskit";
+    repo = pname;
+    rev = version;
+    sha256 = "08a60xk5dq5wmqc23r4hr2v2nsf9hs0ybz832vbnd6d80dl6izyc";
+  };
+
+  patches = [
+    # Update tests for compatibility with qiskit-aer 0.4 (#342). Remove in version > 0.2.0
+    (fetchpatch {
+      url = "https://github.com/Qiskit/qiskit-ignis/commit/d78c494579f370058e68e360f10149db81b52477.patch";
+      sha256 = "0ygkllf95c0jfvjg7gn399a5fd0wshsjpcn279kj7855m8j306h6";
+    })
+    # Fix statevector test over-eager validation (PR #333)
+    (fetchpatch {
+      url = "https://github.com/Qiskit/qiskit-ignis/commit/7cc8eb2e852b383ea429233fa43d3728931f1707.patch";
+      sha256 = "0mdygykilg4qivdaa731z3y56l3ax4jp1sil9npqv0gn4p03c9g5";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    qiskit-terra
+    scipy
+  ];
+
+  # Tests
+  pythonImportsCheck = [ "qiskit.ignis" ];
+  dontUseSetuptoolsCheck = true;
+  preCheck = ''export HOME=$TMPDIR'';
+  checkInputs = [
+    pytestCheckHook
+    qiskit-aer
+  ];
+
+  meta = with lib; {
+    description = "Qiskit tools for quantum hardware verification, noise characterization, and error correction";
+    homepage = "https://github.com/QISKit/qiskit-ignis";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ drewrisinger ];
+  };
+}