1{ lib
2, buildPythonPackage
3, fetchPypi
4, fetchpatch
5, pythonOlder
6, setuptools
7, versioningit
8, wheel
9, numpy
10, matplotlib
11, schema
12, hypothesis
13, pytestCheckHook
14}:
15
16buildPythonPackage rec {
17 pname = "broadbean";
18 version = "0.11.0";
19 format = "pyproject";
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-e+LAcmWxT+SkaWtToPgg+x3QRu5fCSm+w4dLCcyZrw8=";
26 };
27
28 patches = [
29 # https://github.com/QCoDeS/broadbean/pull/538
30 (fetchpatch {
31 name = "drop-wheel-from-pyproject.patch";
32 url = "https://github.com/QCoDeS/broadbean/commit/31a2147e4f452fef1ca2b56b1cb0b10ac85ac867.patch";
33 hash = "sha256-lBikIRhaf3ecwE7NZrYWeHkQCHQdfS9eeOcFExGIsVk=";
34 })
35 # https://github.com/QCoDeS/broadbean/pull/638
36 (fetchpatch {
37 name = "unpin-versioningit-dependency.patch";
38 url = "https://github.com/QCoDeS/broadbean/commit/e4fd6c38d076aa3a6542dcd8fa7d2eb9d7a9b789.patch";
39 hash = "sha256-mw68pWAjztWBw22MeoWVbwIwjzMOJRtv6HctN3v6A2A=";
40 })
41 ];
42
43 nativeBuildInputs = [
44 setuptools
45 versioningit
46 wheel
47 ];
48
49 propagatedBuildInputs = [
50 numpy
51 matplotlib
52 schema
53 ];
54
55 nativeCheckInputs = [
56 hypothesis
57 pytestCheckHook
58 ];
59
60 pythonImportsCheck = [ "broadbean" ];
61
62 meta = {
63 homepage = "https://qcodes.github.io/broadbean";
64 description = "A library for making pulses that can be leveraged with QCoDeS";
65 license = lib.licenses.mit;
66 maintainers = with lib.maintainers; [ evilmav ];
67 };
68}