Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / qiskit-ignis / default.nix
blob2c963271a4dbd37506c86b8db3d40c23b79237bd
1 { lib
2 , stdenv
3 , pythonOlder
4 , buildPythonPackage
5 , fetchFromGitHub
6 , numpy
7 , qiskit-terra
8 , scikit-learn
9 , scipy
10   # Optional package inputs
11 , withVisualization ? false
12 , matplotlib
13 , withCvx ? false
14 , cvxpy
15 , withJit ? false
16 , numba
17   # Check Inputs
18 , pytestCheckHook
19 , ddt
20 , pyfakefs
21 , qiskit-aer
24 buildPythonPackage rec {
25   pname = "qiskit-ignis";
26   version = "0.7.1";
28   disabled = pythonOlder "3.6";
30   # Pypi's tarball doesn't contain tests
31   src = fetchFromGitHub {
32     owner = "Qiskit";
33     repo = "qiskit-ignis";
34     rev = "refs/tags/${version}";
35     hash = "sha256-WyLNtZhtuGzqCJdOBvtBjZZiGFQihpeSjJQtP7lI248=";
36   };
38   propagatedBuildInputs = [
39     numpy
40     qiskit-terra
41     scikit-learn
42     scipy
43   ] ++ lib.optionals (withCvx) [ cvxpy ]
44   ++ lib.optionals (withVisualization) [ matplotlib ]
45   ++ lib.optionals (withJit) [ numba ];
47   # Tests
48   pythonImportsCheck = [ "qiskit.ignis" ];
49   dontUseSetuptoolsCheck = true;
50   preCheck = ''
51     export HOME=$TMPDIR
52   '';
53   nativeCheckInputs = [
54     pytestCheckHook
55     ddt
56     pyfakefs
57     qiskit-aer
58   ];
59   disabledTests = [
60     "test_tensored_meas_cal_on_circuit" # Flaky test, occasionally returns result outside bounds
61   ] ++ lib.optionals stdenv.isAarch64 [
62     "test_fitters" # Fails check that arrays are close. Might be due to aarch64 math issues.
63   ];
65   meta = with lib; {
66     description = "Qiskit tools for quantum hardware verification, noise characterization, and error correction";
67     homepage = "https://qiskit.org/ignis";
68     downloadPage = "https://github.com/QISKit/qiskit-ignis/releases";
69     changelog = "https://qiskit.org/documentation/release_notes.html";
70     license = licenses.asl20;
71     maintainers = with maintainers; [ drewrisinger ];
72   };