Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib
2, pythonOlder
3, buildPythonPackage
4, fetchFromGitHub
5 # Python Inputs
6, fastdtw
7, numpy
8, pandas
9, psutil
10, qiskit-terra
11, qiskit-optimization
12, scikit-learn
13, scipy
14, quandl
15, yfinance
16 # Check Inputs
17, pytestCheckHook
18, ddt
19, pytest-timeout
20, qiskit-aer
21}:
22
23buildPythonPackage rec {
24 pname = "qiskit-finance";
25 version = "0.2.1";
26
27 disabled = pythonOlder "3.6";
28
29 src = fetchFromGitHub {
30 owner = "qiskit";
31 repo = pname;
32 rev = version;
33 sha256 = "sha256-fEhc/01j6iYYwS6mLle+TpX9j0DVn12oPUFamEecoAY=";
34 };
35
36 propagatedBuildInputs = [
37 fastdtw
38 numpy
39 pandas
40 psutil
41 qiskit-terra
42 qiskit-optimization
43 quandl
44 scikit-learn
45 scipy
46 yfinance
47 ];
48
49 checkInputs = [
50 pytestCheckHook
51 pytest-timeout
52 ddt
53 qiskit-aer
54 ];
55
56 pythonImportsCheck = [ "qiskit_finance" ];
57 disabledTests = [
58 # Fail due to approximation error, ~1-2%
59 "test_application"
60
61 # Tests fail b/c require internet connection. Stalls tests if enabled.
62 "test_exchangedata"
63 "test_yahoo"
64 "test_wikipedia"
65 ];
66 pytestFlagsArray = [
67 "--durations=10"
68 ];
69
70 meta = with lib; {
71 description = "Software for developing quantum computing programs";
72 homepage = "https://qiskit.org";
73 downloadPage = "https://github.com/QISKit/qiskit-optimization/releases";
74 changelog = "https://qiskit.org/documentation/release_notes.html";
75 license = licenses.asl20;
76 maintainers = with maintainers; [ drewrisinger ];
77 };
78}