nixpkgs/pkgs/development/python-modules/qiskit-ignis/default.nix
Drew Risinger 543382d83c pythonPackages.qiskit-ignis: init at 0.2.0
Qiskit Ignis is a toolbox for quantum hardware verification,
noise characterization, and error correction.

This commit follows the new Qiskit scheme of breaking one large package
into smaller packages (terra, aer, etc), and then having a single
meta-package "qiskit" that comprises them.
2020-04-01 09:49:29 -07:00

63 lines
1.5 KiB
Nix

{ 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 ];
};
}