at 25.11-pre 3.7 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 # build-system 7 setuptools, 8 versioningit, 9 10 # dependencies 11 broadbean, 12 cf-xarray, 13 dask, 14 h5netcdf, 15 h5py, 16 ipykernel, 17 ipython, 18 ipywidgets, 19 jsonschema, 20 libcst, 21 matplotlib, 22 numpy, 23 opentelemetry-api, 24 packaging, 25 pandas, 26 pillow, 27 pyarrow, 28 pyvisa, 29 ruamel-yaml, 30 tabulate, 31 tqdm, 32 typing-extensions, 33 uncertainties, 34 websockets, 35 wrapt, 36 xarray, 37 38 # optional-dependencies 39 furo, 40 jinja2, 41 nbsphinx, 42 pyvisa-sim, 43 scipy, 44 sphinx, 45 sphinx-issues, 46 towncrier, 47 48 # tests 49 deepdiff, 50 hypothesis, 51 lxml, 52 pip, 53 pytest-asyncio, 54 pytest-cov-stub, 55 pytest-mock, 56 pytest-rerunfailures, 57 pytest-xdist, 58 pytestCheckHook, 59 writableTmpDirAsHomeHook, 60}: 61 62buildPythonPackage rec { 63 pname = "qcodes"; 64 version = "0.52.0"; 65 pyproject = true; 66 67 src = fetchFromGitHub { 68 owner = "microsoft"; 69 repo = "Qcodes"; 70 tag = "v${version}"; 71 hash = "sha256-AQBzYKD4RsPQBtq/FxFwYnSUf8wW87JOb2cOnk9MHDY="; 72 }; 73 74 postPatch = '' 75 substituteInPlace pyproject.toml \ 76 --replace-fail 'default-version = "0.0"' 'default-version = "${version}"' 77 ''; 78 79 build-system = [ 80 setuptools 81 versioningit 82 ]; 83 84 dependencies = [ 85 broadbean 86 cf-xarray 87 dask 88 h5netcdf 89 h5py 90 ipykernel 91 ipython 92 ipywidgets 93 jsonschema 94 matplotlib 95 numpy 96 opentelemetry-api 97 packaging 98 pandas 99 pillow 100 pyarrow 101 pyvisa 102 ruamel-yaml 103 tabulate 104 tqdm 105 typing-extensions 106 uncertainties 107 websockets 108 wrapt 109 xarray 110 ]; 111 112 optional-dependencies = { 113 docs = [ 114 # autodocsumm 115 furo 116 jinja2 117 nbsphinx 118 pyvisa-sim 119 # qcodes-loop 120 scipy 121 sphinx 122 # sphinx-favicon 123 sphinx-issues 124 # sphinx-jsonschema 125 # sphinxcontrib-towncrier 126 towncrier 127 ]; 128 loop = [ 129 # qcodes-loop 130 ]; 131 refactor = [ 132 libcst 133 ]; 134 zurichinstruments = [ 135 # zhinst-qcodes 136 ]; 137 }; 138 139 nativeCheckInputs = [ 140 deepdiff 141 hypothesis 142 libcst 143 lxml 144 pip 145 pytest-asyncio 146 pytest-cov-stub 147 pytest-mock 148 pytest-rerunfailures 149 pytest-xdist 150 pytestCheckHook 151 pyvisa-sim 152 sphinx 153 writableTmpDirAsHomeHook 154 ]; 155 156 __darwinAllowLocalNetworking = true; 157 158 pytestFlagsArray = [ 159 "-v" 160 # Follow upstream with settings 161 "-m 'not serial'" 162 "--hypothesis-profile ci" 163 "--durations=20" 164 ]; 165 166 disabledTestPaths = [ 167 # Test depends on qcodes-loop, causing a cyclic dependency 168 "tests/dataset/measurement/test_load_legacy_data.py" 169 # TypeError 170 "tests/dataset/test_dataset_basic.py" 171 ]; 172 173 disabledTests = [ 174 # Tests are time-sensitive and power-consuming 175 # Those tests fails repeatably and are flaky 176 "test_access_channels_by_name" 177 "test_access_channels_by_slice" 178 "test_access_channels_by_tuple" 179 "test_aggregator" 180 "test_datasaver" 181 "test_do1d_additional_setpoints_shape" 182 "test_dond_1d_additional_setpoints_shape" 183 "test_field_limits" 184 "test_get_array_in_scalar_param_data" 185 "test_get_parameter_data" 186 "test_measured" 187 "test_ramp_safely" 188 "test_ramp_scaled" 189 190 # more flaky tests 191 # https://github.com/microsoft/Qcodes/issues/5551 192 "test_query_close_once_at_init" 193 "test_step_ramp" 194 ]; 195 196 pythonImportsCheck = [ "qcodes" ]; 197 198 meta = { 199 description = "Python-based data acquisition framework"; 200 changelog = "https://github.com/QCoDeS/Qcodes/releases/tag/v${version}"; 201 downloadPage = "https://github.com/QCoDeS/Qcodes"; 202 homepage = "https://qcodes.github.io/Qcodes/"; 203 license = lib.licenses.mit; 204 maintainers = with lib.maintainers; [ evilmav ]; 205 }; 206}