Coverage for install/scipp/__init__.py: 0%

85 statements  

« prev     ^ index     » next       coverage.py v7.4.0, created at 2024-04-28 01:28 +0000

1# SPDX-License-Identifier: BSD-3-Clause 

2# Copyright (c) 2023 Scipp contributors (https://github.com/scipp) 

3# @author Simon Heybrock 

4# ruff: noqa: E402, F401, F821 

5"""Multi-dimensional data arrays with labeled dimensions. 

6 

7Scipp provides 

8 

9* Physical units are stored with each data or coord array and are handled in arithmetic operations. 

10* Histograms, i.e., bin-edge axes, which are by 1 longer than the data extent. 

11* Support for non-regular or scattered data and non-destructive binning. 

12* Support for masks stored with data. 

13* Propagation of uncertainties. 

14 

15See the online documentation for user guides and an API reference: https://scipp.github.io/ 

16""" # noqa: E501 

17 

18from .core import __version__ 

19 

20# Import classes 

21from .core import Variable, DataArray, DataGroup, Dataset, DType, Unit 

22 

23# Import errors 

24from .core import ( 

25 BinEdgeError, 

26 BinnedDataError, 

27 CoordError, 

28 DataArrayError, 

29 DatasetError, 

30 DimensionError, 

31 DTypeError, 

32 UnitError, 

33 VariableError, 

34 VariancesError, 

35) 

36 

37# Import submodules 

38from . import units 

39 

40# Import functions 

41 

42# Import python functions 

43from .visualization import show, make_svg, to_html, make_html, table 

44 

45Variable._repr_html_ = make_html 

46DataArray._repr_html_ = make_html 

47Dataset._repr_html_ = make_html 

48del visualization 

49 

50from .io.hdf5 import save_hdf5 as _save_hdf5 

51 

52Variable.save_hdf5 = _save_hdf5 

53DataArray.save_hdf5 = _save_hdf5 

54Dataset.save_hdf5 = _save_hdf5 

55DataGroup.save_hdf5 = _save_hdf5 

56del _save_hdf5 

57 

58from .format import format_variable as _format_variable 

59 

60Variable.__format__ = _format_variable 

61del _format_variable 

62 

63from ._extend_units import extend_units 

64 

65extend_units() 

66del extend_units 

67 

68from .compat.dict import to_dict, from_dict 

69 

70from .object_list import _repr_html_ 

71from .utils import collapse, slices 

72 

73del object_list, utils 

74 

75from .coords import transform_coords, show_graph 

76 

77from .core import add, divide, floor_divide, mod, multiply, negative, subtract 

78from .core import bin, group, hist, nanhist, rebin 

79from .core import Lookup, lookup, bins, bins_like 

80from .core import ( 

81 less, 

82 greater, 

83 less_equal, 

84 greater_equal, 

85 equal, 

86 not_equal, 

87 identical, 

88 isclose, 

89 allclose, 

90) 

91from .core import counts_to_density, density_to_counts 

92from .core import cumsum 

93from .core import merge 

94from .core import groupby 

95from .core import logical_not, logical_and, logical_or, logical_xor 

96from .core import ( 

97 abs, 

98 nan_to_num, 

99 norm, 

100 reciprocal, 

101 pow, 

102 sqrt, 

103 exp, 

104 log, 

105 log10, 

106 round, 

107 floor, 

108 ceil, 

109 erf, 

110 erfc, 

111 midpoints, 

112) 

113from .core import ( 

114 dot, 

115 islinspace, 

116 issorted, 

117 allsorted, 

118 cross, 

119 sort, 

120 values, 

121 variances, 

122 stddevs, 

123 where, 

124) 

125from .core import ( 

126 mean, 

127 nanmean, 

128 median, 

129 nanmedian, 

130 std, 

131 nanstd, 

132 var, 

133 nanvar, 

134 sum, 

135 nansum, 

136 min, 

137 max, 

138 nanmin, 

139 nanmax, 

140 all, 

141 any, 

142) 

143from .core import broadcast, concat, fold, flatten, squeeze, transpose 

144from .core import sinh, cosh, tanh, asinh, acosh, atanh 

145from .core import sin, cos, tan, asin, acos, atan, atan2 

146from .core import isnan, isinf, isfinite, isposinf, isneginf, to_unit 

147from .core import ( 

148 scalar, 

149 index, 

150 zeros, 

151 zeros_like, 

152 ones, 

153 ones_like, 

154 empty, 

155 empty_like, 

156 full, 

157 full_like, 

158 vector, 

159 vectors, 

160 array, 

161 linspace, 

162 geomspace, 

163 logspace, 

164 arange, 

165 datetime, 

166 datetimes, 

167 epoch, 

168) 

169from .core import as_const 

170from .core import to 

171 

172from .logging import display_logs, get_logger 

173 

174from .reduction import reduce 

175 

176del reduction 

177 

178# Mainly imported for docs 

179from .core import Bins, Coords, GroupByDataset, GroupByDataArray, Masks 

180 

181from . import _binding 

182 

183_binding.bind_get() 

184_binding.bind_pop() 

185_binding.bind_conversion_to_builtin(Variable) 

186# Assign method binding for all containers 

187for _cls in (Variable, DataArray, Dataset): 

188 _binding.bind_functions_as_methods( 

189 _cls, 

190 globals(), 

191 ( 

192 'sum', 

193 'nansum', 

194 'mean', 

195 'nanmean', 

196 'median', 

197 'nanmedian', 

198 'std', 

199 'nanstd', 

200 'var', 

201 'nanvar', 

202 'max', 

203 'min', 

204 'nanmax', 

205 'nanmin', 

206 'all', 

207 'any', 

208 ), 

209 ) 

210del _cls 

211# Assign method binding for both Variable and DataArray 

212for _cls in (Variable, DataArray): 

213 _binding.bind_functions_as_methods( 

214 _cls, 

215 globals(), 

216 ( 

217 'broadcast', 

218 'flatten', 

219 'fold', 

220 'squeeze', 

221 'transpose', 

222 'floor', 

223 'ceil', 

224 'round', 

225 ), 

226 ) 

227 _binding.bind_function_as_method(cls=_cls, name='to', func=to, abbreviate_doc=False) 

228del _cls 

229del to 

230# Assign method binding for JUST Variable 

231_binding.bind_functions_as_methods(Variable, globals(), ('cumsum',)) 

232# Assign method binding for JUST Dataset 

233_binding.bind_functions_as_methods(Dataset, globals(), ('squeeze',)) 

234for _cls in (DataArray, Dataset): 

235 _binding.bind_functions_as_methods(_cls, globals(), ('groupby', 'transform_coords')) 

236del _cls 

237_binding.bind_functions_as_methods(Variable, globals(), ('bin', 'hist', 'nanhist')) 

238_binding.bind_functions_as_methods( 

239 DataArray, globals(), ('bin', 'group', 'hist', 'nanhist', 'rebin') 

240) 

241_binding.bind_functions_as_methods(Dataset, globals(), ('hist', 'rebin')) 

242del _binding 

243 

244from . import data 

245from . import spatial 

246from .operations import elemwise_func 

247 

248del operations 

249 

250from .core.binning import histogram 

251 

252from .plotting import plot 

253 

254Variable.plot = plot 

255DataArray.plot = plot 

256Dataset.plot = plot 

257del plotting 

258 

259from .core.util import VisibleDeprecationWarning 

260 

261del core 

262 

263from .curve_fit import curve_fit 

264 

265__all__ = [ 

266 'BinEdgeError', 

267 'BinnedDataError', 

268 'Bins', 

269 'CoordError', 

270 'Coords', 

271 'DType', 

272 'DTypeError', 

273 'DataArray', 

274 'DataArrayError', 

275 'DataGroup', 

276 'Dataset', 

277 'DatasetError', 

278 'DimensionError', 

279 'GroupByDataArray', 

280 'GroupByDataset', 

281 'Lookup', 

282 'Masks', 

283 'Unit', 

284 'UnitError', 

285 'Variable', 

286 'VariableError', 

287 'VariancesError', 

288 'VisibleDeprecationWarning', 

289 'abs', 

290 'acos', 

291 'acosh', 

292 'add', 

293 'all', 

294 'allclose', 

295 'allsorted', 

296 'any', 

297 'arange', 

298 'array', 

299 'as_const', 

300 'asin', 

301 'asinh', 

302 'atan', 

303 'atanh', 

304 'atan2', 

305 'bin', 

306 'bins', 

307 'bins_like', 

308 'broadcast', 

309 'ceil', 

310 'collapse', 

311 'compat', 

312 'concat', 

313 'coords', 

314 'cos', 

315 'cosh', 

316 'counts_to_density', 

317 'cross', 

318 'cumsum', 

319 'curve_fit', 

320 'data', 

321 'datetime', 

322 'datetimes', 

323 'density_to_counts', 

324 'display_logs', 

325 'divide', 

326 'dot', 

327 'elemwise_func', 

328 'empty', 

329 'empty_like', 

330 'epoch', 

331 'equal', 

332 'erf', 

333 'erfc', 

334 'exp', 

335 'flatten', 

336 'floor', 

337 'floor_divide', 

338 'fold', 

339 'format', 

340 'from_dict', 

341 'full', 

342 'full_like', 

343 'geomspace', 

344 'get_logger', 

345 'greater', 

346 'greater_equal', 

347 'group', 

348 'groupby', 

349 'hist', 

350 'histogram', 

351 'identical', 

352 'index', 

353 'io', 

354 'isclose', 

355 'isfinite', 

356 'isinf', 

357 'islinspace', 

358 'isnan', 

359 'isneginf', 

360 'isposinf', 

361 'issorted', 

362 'less', 

363 'less_equal', 

364 'linspace', 

365 'log', 

366 'log10', 

367 'logging', 

368 'logical_and', 

369 'logical_not', 

370 'logical_or', 

371 'logical_xor', 

372 'logspace', 

373 'lookup', 

374 'make_html', 

375 'make_svg', 

376 'max', 

377 'mean', 

378 'median', 

379 'merge', 

380 'midpoints', 

381 'min', 

382 'mod', 

383 'multiply', 

384 'nan_to_num', 

385 'nanhist', 

386 'nanmax', 

387 'nanmean', 

388 'nanmedian', 

389 'nanmin', 

390 'nanstd', 

391 'nansum', 

392 'nanvar', 

393 'negative', 

394 'norm', 

395 'not_equal', 

396 'ones', 

397 'ones_like', 

398 'plot', 

399 'pow', 

400 'rebin', 

401 'reciprocal', 

402 'reduce', 

403 'reduction', 

404 'round', 

405 'scalar', 

406 'show', 

407 'show_graph', 

408 'sin', 

409 'sinh', 

410 'slices', 

411 'sort', 

412 'spatial', 

413 'sqrt', 

414 'squeeze', 

415 'std', 

416 'stddevs', 

417 'subtract', 

418 'sum', 

419 'table', 

420 'tan', 

421 'tanh', 

422 'to_dict', 

423 'to_html', 

424 'to_unit', 

425 'transform_coords', 

426 'transpose', 

427 'typing', 

428 'units', 

429 'utils', 

430 'values', 

431 'var', 

432 'variances', 

433 'vector', 

434 'vectors', 

435 'where', 

436 'zeros', 

437 'zeros_like', 

438]