nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8
9 # Python Inputs
10 h5py,
11 numpy,
12 psutil,
13 qiskit,
14 rustworkx,
15 scikit-learn,
16 scipy,
17 withPyscf ? false,
18 pyscf,
19 # Check Inputs
20 pytestCheckHook,
21 ddt,
22 pylatexenc,
23 qiskit-aer,
24}:
25
26buildPythonPackage rec {
27 pname = "qiskit-nature";
28 version = "0.7.2";
29 pyproject = true;
30
31 src = fetchFromGitHub {
32 owner = "Qiskit";
33 repo = pname;
34 tag = version;
35 hash = "sha256-SVzg3McB885RMyAp90Kr6/iVKw3Su9ucTob2jBckBo0=";
36 };
37
38 nativeBuildInputs = [ setuptools ];
39
40 propagatedBuildInputs = [
41 h5py
42 numpy
43 psutil
44 qiskit
45 rustworkx
46 scikit-learn
47 scipy
48 ]
49 ++ lib.optional withPyscf pyscf;
50
51 nativeCheckInputs = [
52 pytestCheckHook
53 ddt
54 pylatexenc
55 qiskit-aer
56 ];
57
58 pythonImportsCheck = [ "qiskit_nature" ];
59
60 pytestFlags = [ "--durations=10" ];
61
62 disabledTests = [
63 "test_two_qubit_reduction" # failure cause unclear
64 ];
65
66 meta = {
67 # broken because it depends on qiskit-algorithms which is not yet packaged in nixpkgs
68 broken = true;
69 description = "Software for developing quantum computing programs";
70 homepage = "https://qiskit.org";
71 downloadPage = "https://github.com/QISKit/qiskit-nature/releases";
72 changelog = "https://qiskit.org/documentation/release_notes.html";
73 sourceProvenance = with lib.sourceTypes; [
74 fromSource
75 binaryNativeCode # drivers/gaussiand/gauopen/*.so
76 ];
77 license = lib.licenses.asl20;
78 maintainers = [ ];
79 };
80}