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

62 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 

5# ruff: noqa: E402, F401, F403, F821 

6from .._scipp import _debug_ 

7 

8if _debug_: 

9 import warnings 

10 

11 warnings.warn( 

12 'You are running a "Debug" build of Scipp. ' 

13 'For optimal performance use a "Release" build.', 

14 stacklevel=1, 

15 ) 

16 del warnings 

17del _debug_ 

18 

19from .._scipp import __version__ 

20from .cpp_classes import ( 

21 Coords, 

22 DataArray, 

23 Dataset, 

24 DType, 

25 GroupByDataArray, 

26 GroupByDataset, 

27 Masks, 

28 Unit, 

29 Variable, 

30) 

31 

32# Import errors 

33from .cpp_classes import ( 

34 BinEdgeError, 

35 BinnedDataError, 

36 CoordError, 

37 DataArrayError, 

38 DatasetError, 

39 DimensionError, 

40 DTypeError, 

41 UnitError, 

42 VariableError, 

43 VariancesError, 

44) 

45 

46from .._scipp.core import as_const 

47 

48from .data_group import DataGroup 

49from .dimensions import ( 

50 _rename_dims, 

51 _rename_variable, 

52 _rename_data_array, 

53 _rename_dataset, 

54) 

55 

56 

57from .deprecation import _deprecated_attrs, _deprecated_meta, _deprecated_drop_attrs 

58 

59DataArray.attrs = property(_deprecated_attrs) 

60DataArray.meta = property(_deprecated_meta) 

61DataArray.drop_attrs = _deprecated_drop_attrs 

62del _deprecated_attrs, _deprecated_meta, _deprecated_drop_attrs 

63 

64for cls in (Variable, DataArray, Dataset): 

65 cls.rename_dims = _rename_dims 

66Variable.rename = _rename_variable 

67DataArray.rename = _rename_data_array 

68Dataset.rename = _rename_dataset 

69del _rename_dims, _rename_variable, _rename_data_array, _rename_dataset, cls 

70 

71from .bins import _bins, _set_bins 

72 

73Variable.bins = property(_bins, _set_bins) 

74DataArray.bins = property(_bins, _set_bins) 

75Dataset.bins = property(_bins, _set_bins) 

76 

77from .structured import _fields 

78 

79Variable.fields = property( 

80 _fields, 

81 doc='Provides access to fields of structured types such as vectors or matrices.', 

82) 

83 

84from .bins import _groupby_bins, Bins 

85 

86GroupByDataArray.bins = property(_groupby_bins) 

87GroupByDataset.bins = property(_groupby_bins) 

88del _groupby_bins 

89 

90# Prevent unwanted conversion to numpy arrays by operations. Properly defining 

91# __array_ufunc__ should be possible by converting non-scipp arguments to 

92# variables. The most difficult part is probably mapping the ufunc to scipp 

93# functions. 

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

95 _cls.__array_ufunc__ = None 

96del _cls 

97 

98 

99from .arithmetic import add, divide, floor_divide, mod, multiply, negative, subtract 

100from .binning import bin, group, hist, nanhist, rebin 

101from .bins import Lookup, lookup, bins, bins_like 

102from .comparison import ( 

103 less, 

104 greater, 

105 less_equal, 

106 greater_equal, 

107 equal, 

108 not_equal, 

109 identical, 

110 isclose, 

111 allclose, 

112) 

113from .counts import counts_to_density, density_to_counts 

114from .cumulative import cumsum 

115from .dataset import irreducible_mask 

116from .groupby import groupby 

117from .hyperbolic import sinh, cosh, tanh, asinh, acosh, atanh 

118from .logical import logical_not, logical_and, logical_or, logical_xor 

119from .math import ( 

120 abs, 

121 cross, 

122 dot, 

123 nan_to_num, 

124 norm, 

125 reciprocal, 

126 pow, 

127 sqrt, 

128 exp, 

129 log, 

130 log10, 

131 round, 

132 floor, 

133 ceil, 

134 erf, 

135 erfc, 

136 midpoints, 

137) 

138from .operations import ( 

139 islinspace, 

140 issorted, 

141 allsorted, 

142 sort, 

143 values, 

144 variances, 

145 stddevs, 

146 where, 

147 to, 

148 merge, 

149 label_based_index_to_positional_index, 

150) 

151from .reduction import ( 

152 mean, 

153 nanmean, 

154 median, 

155 nanmedian, 

156 std, 

157 nanstd, 

158 var, 

159 nanvar, 

160 sum, 

161 nansum, 

162 min, 

163 max, 

164 nanmin, 

165 nanmax, 

166 all, 

167 any, 

168) 

169from .shape import broadcast, concat, fold, flatten, squeeze, transpose 

170from .trigonometry import sin, cos, tan, asin, acos, atan, atan2 

171from .unary import isnan, isinf, isfinite, isposinf, isneginf, to_unit 

172from .variable import ( 

173 scalar, 

174 index, 

175 zeros, 

176 ones, 

177 empty, 

178 full, 

179 vector, 

180 vectors, 

181 array, 

182 linspace, 

183 geomspace, 

184 logspace, 

185 arange, 

186 datetime, 

187 datetimes, 

188 epoch, 

189) 

190from .like import zeros_like, ones_like, empty_like, full_like 

191 

192from .assignments import assign_coords, assign_masks, assign_attrs 

193 

194Dataset.assign_coords = assign_coords 

195DataArray.assign_coords = assign_coords 

196DataArray.assign_masks = assign_masks 

197DataArray.assign_attrs = assign_attrs 

198del assign_coords, assign_masks, assign_attrs 

199 

200# Remove submodules to reduce clutter 

201del ( 

202 arithmetic, 

203 assignments, 

204 binning, 

205 comparison, 

206 counts, 

207 cpp_classes, 

208 cumulative, 

209 dataset, 

210 data_group, 

211 dimensions, 

212 like, 

213 logical, 

214 math, 

215 operations, 

216 reduction, 

217 shape, 

218 structured, 

219 trigonometry, 

220 unary, 

221 variable, 

222) 

223 

224__all__ = [ 

225 'BinEdgeError', 

226 'BinnedDataError', 

227 'Bins', 

228 'CoordError', 

229 'Coords', 

230 'DType', 

231 'DTypeError', 

232 'DataArray', 

233 'DataArrayError', 

234 'DataGroup', 

235 'Dataset', 

236 'DatasetError', 

237 'DimensionError', 

238 'GroupByDataArray', 

239 'GroupByDataset', 

240 'Lookup', 

241 'Masks', 

242 'Unit', 

243 'UnitError', 

244 'Variable', 

245 'VariableError', 

246 'VariancesError', 

247 'abs', 

248 'acos', 

249 'acosh', 

250 'add', 

251 'all', 

252 'allclose', 

253 'allsorted', 

254 'any', 

255 'arange', 

256 'array', 

257 'as_const', 

258 'asin', 

259 'asinh', 

260 'atan', 

261 'atan2', 

262 'atanh', 

263 'bin', 

264 'bins', 

265 'bins_like', 

266 'broadcast', 

267 'ceil', 

268 'concat', 

269 'cos', 

270 'cosh', 

271 'counts_to_density', 

272 'cross', 

273 'cumsum', 

274 'datetime', 

275 'datetimes', 

276 'density_to_counts', 

277 'divide', 

278 'dot', 

279 'empty', 

280 'empty_like', 

281 'epoch', 

282 'equal', 

283 'erf', 

284 'erfc', 

285 'exp', 

286 'flatten', 

287 'floor', 

288 'floor_divide', 

289 'fold', 

290 'full', 

291 'full_like', 

292 'geomspace', 

293 'greater', 

294 'greater_equal', 

295 'group', 

296 'groupby', 

297 'hist', 

298 'identical', 

299 'index', 

300 'irreducible_mask', 

301 'isclose', 

302 'isfinite', 

303 'isinf', 

304 'islinspace', 

305 'isnan', 

306 'isneginf', 

307 'isposinf', 

308 'issorted', 

309 'label_based_index_to_positional_index', 

310 'less', 

311 'less_equal', 

312 'linspace', 

313 'log', 

314 'log10', 

315 'logical_and', 

316 'logical_not', 

317 'logical_or', 

318 'logical_xor', 

319 'logspace', 

320 'lookup', 

321 'max', 

322 'mean', 

323 'median', 

324 'merge', 

325 'midpoints', 

326 'min', 

327 'mod', 

328 'multiply', 

329 'nan_to_num', 

330 'nanhist', 

331 'nanmax', 

332 'nanmean', 

333 'nanmedian', 

334 'nanmin', 

335 'nanstd', 

336 'nansum', 

337 'nanvar', 

338 'negative', 

339 'norm', 

340 'not_equal', 

341 'ones', 

342 'ones_like', 

343 'pow', 

344 'rebin', 

345 'reciprocal', 

346 'round', 

347 'scalar', 

348 'sin', 

349 'sinh', 

350 'sort', 

351 'sqrt', 

352 'squeeze', 

353 'std', 

354 'stddevs', 

355 'subtract', 

356 'sum', 

357 'tan', 

358 'tanh', 

359 'to', 

360 'to_unit', 

361 'transpose', 

362 'values', 

363 'var', 

364 'variances', 

365 'vector', 

366 'vectors', 

367 'where', 

368 'zeros', 

369 'zeros_like', 

370]