legend-pydataobj 1.8.0__tar.gz → 1.9.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/PKG-INFO +3 -2
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/pyproject.toml +2 -1
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/legend_pydataobj.egg-info/PKG-INFO +3 -2
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/legend_pydataobj.egg-info/SOURCES.txt +2 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/legend_pydataobj.egg-info/requires.txt +2 -1
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/__init__.py +4 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/_version.py +2 -2
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/__init__.py +2 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/read/composite.py +62 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/write/composite.py +8 -1
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/core.py +2 -2
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/datatype.py +1 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5_store.py +1 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/types/__init__.py +2 -0
- legend_pydataobj-1.9.0/src/lgdo/types/histogram.py +404 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/types/table.py +1 -1
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/conftest.py +1 -1
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/lh5/test_core.py +9 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/lh5/test_lh5_datatype.py +1 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/lh5/test_lh5_write.py +123 -0
- legend_pydataobj-1.9.0/tests/types/test_histogram.py +292 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/LICENSE +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/README.md +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/setup.cfg +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/legend_pydataobj.egg-info/dependency_links.txt +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/legend_pydataobj.egg-info/entry_points.txt +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/legend_pydataobj.egg-info/not-zip-safe +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/legend_pydataobj.egg-info/top_level.txt +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/cli.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/compression/__init__.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/compression/base.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/compression/generic.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/compression/radware.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/compression/utils.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/compression/varlen.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lgdo_utils.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/__init__.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/read/__init__.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/read/array.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/read/encoded.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/read/ndarray.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/read/scalar.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/read/utils.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/read/vector_of_vectors.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/write/__init__.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/write/array.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/write/scalar.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/write/vector_of_vectors.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/exceptions.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/iterator.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/store.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/tools.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/utils.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/logging.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/types/array.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/types/arrayofequalsizedarrays.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/types/encoded.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/types/fixedsizearray.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/types/lgdo.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/types/scalar.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/types/struct.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/types/vectorofvectors.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/types/vovutils.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/types/waveformtable.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/units.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/utils.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/compression/conftest.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/compression/sigcompress/LDQTA_r117_20200110T105115Z_cal_geds_raw-0.dat +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/compression/sigcompress/special-wf-clipped.dat +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/compression/test_compression.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/compression/test_radware_sigcompress.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/compression/test_str2wfcodec.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/compression/test_uleb128_zigzag_diff.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/lh5/conftest.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/lh5/test_lh5_iterator.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/lh5/test_lh5_store.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/lh5/test_lh5_tools.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/lh5/test_lh5_utils.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/test_cli.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/test_lgdo_utils.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/types/test_array.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/types/test_arrayofequalsizedarrays.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/types/test_encoded.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/types/test_fixedsizearray.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/types/test_representations.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/types/test_scalar.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/types/test_struct.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/types/test_table.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/types/test_table_eval.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/types/test_vectorofvectors.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/types/test_vovutils.py +0 -0
- {legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/tests/types/test_waveformtable.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: legend_pydataobj
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.9.0
|
4
4
|
Summary: LEGEND Python Data Objects
|
5
5
|
Author: The LEGEND Collaboration
|
6
6
|
Maintainer: The LEGEND Collaboration
|
@@ -702,12 +702,13 @@ Requires-Dist: awkward-pandas
|
|
702
702
|
Requires-Dist: colorlog
|
703
703
|
Requires-Dist: h5py>=3.2
|
704
704
|
Requires-Dist: hdf5plugin
|
705
|
+
Requires-Dist: hist
|
705
706
|
Requires-Dist: numba!=0.53.*,!=0.54.*
|
706
707
|
Requires-Dist: numexpr
|
707
708
|
Requires-Dist: numpy>=1.21
|
708
709
|
Requires-Dist: pandas>=1.4.4
|
709
710
|
Requires-Dist: parse
|
710
|
-
Requires-Dist: pint
|
711
|
+
Requires-Dist: pint>0.24
|
711
712
|
Requires-Dist: pint-pandas
|
712
713
|
Provides-Extra: all
|
713
714
|
Requires-Dist: legend-pydataobj[docs,test]; extra == "all"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: legend_pydataobj
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.9.0
|
4
4
|
Summary: LEGEND Python Data Objects
|
5
5
|
Author: The LEGEND Collaboration
|
6
6
|
Maintainer: The LEGEND Collaboration
|
@@ -702,12 +702,13 @@ Requires-Dist: awkward-pandas
|
|
702
702
|
Requires-Dist: colorlog
|
703
703
|
Requires-Dist: h5py>=3.2
|
704
704
|
Requires-Dist: hdf5plugin
|
705
|
+
Requires-Dist: hist
|
705
706
|
Requires-Dist: numba!=0.53.*,!=0.54.*
|
706
707
|
Requires-Dist: numexpr
|
707
708
|
Requires-Dist: numpy>=1.21
|
708
709
|
Requires-Dist: pandas>=1.4.4
|
709
710
|
Requires-Dist: parse
|
710
|
-
Requires-Dist: pint
|
711
|
+
Requires-Dist: pint>0.24
|
711
712
|
Requires-Dist: pint-pandas
|
712
713
|
Provides-Extra: all
|
713
714
|
Requires-Dist: legend-pydataobj[docs,test]; extra == "all"
|
@@ -49,6 +49,7 @@ src/lgdo/types/array.py
|
|
49
49
|
src/lgdo/types/arrayofequalsizedarrays.py
|
50
50
|
src/lgdo/types/encoded.py
|
51
51
|
src/lgdo/types/fixedsizearray.py
|
52
|
+
src/lgdo/types/histogram.py
|
52
53
|
src/lgdo/types/lgdo.py
|
53
54
|
src/lgdo/types/scalar.py
|
54
55
|
src/lgdo/types/struct.py
|
@@ -78,6 +79,7 @@ tests/types/test_array.py
|
|
78
79
|
tests/types/test_arrayofequalsizedarrays.py
|
79
80
|
tests/types/test_encoded.py
|
80
81
|
tests/types/test_fixedsizearray.py
|
82
|
+
tests/types/test_histogram.py
|
81
83
|
tests/types/test_representations.py
|
82
84
|
tests/types/test_scalar.py
|
83
85
|
tests/types/test_struct.py
|
@@ -33,6 +33,8 @@ basic data object classes are:
|
|
33
33
|
:class:`dict`
|
34
34
|
* :class:`.Table`: a :class:`.Struct` whose elements ("columns") are all array
|
35
35
|
types with the same length (number of rows)
|
36
|
+
* :class:`.Histogram`: holds an array of histogrammed data, and the associated
|
37
|
+
binning of arbitrary dimensionality.
|
36
38
|
|
37
39
|
Currently the primary on-disk format for LGDO object is LEGEND HDF5 (LH5) files. IO
|
38
40
|
is done via the class :class:`.lh5_store.LH5Store`. LH5 files can also be
|
@@ -50,6 +52,7 @@ from .types import (
|
|
50
52
|
ArrayOfEncodedEqualSizedArrays,
|
51
53
|
ArrayOfEqualSizedArrays,
|
52
54
|
FixedSizeArray,
|
55
|
+
Histogram,
|
53
56
|
Scalar,
|
54
57
|
Struct,
|
55
58
|
Table,
|
@@ -63,6 +66,7 @@ __all__ = [
|
|
63
66
|
"ArrayOfEqualSizedArrays",
|
64
67
|
"ArrayOfEncodedEqualSizedArrays",
|
65
68
|
"FixedSizeArray",
|
69
|
+
"Histogram",
|
66
70
|
"LGDO",
|
67
71
|
"Scalar",
|
68
72
|
"Struct",
|
@@ -7,6 +7,7 @@ from .read.array import (
|
|
7
7
|
_h5_read_ndarray,
|
8
8
|
)
|
9
9
|
from .read.composite import (
|
10
|
+
_h5_read_histogram,
|
10
11
|
_h5_read_lgdo,
|
11
12
|
_h5_read_struct,
|
12
13
|
_h5_read_table,
|
@@ -32,6 +33,7 @@ __all__ = [
|
|
32
33
|
"_h5_read_array_of_equalsized_arrays",
|
33
34
|
"_h5_read_struct",
|
34
35
|
"_h5_read_table",
|
36
|
+
"_h5_read_histogram",
|
35
37
|
"_h5_read_scalar",
|
36
38
|
"_h5_read_array_of_encoded_equalsized_arrays",
|
37
39
|
"_h5_read_vector_of_encoded_vectors",
|
{legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/read/composite.py
RENAMED
@@ -13,6 +13,7 @@ from ....types import (
|
|
13
13
|
ArrayOfEncodedEqualSizedArrays,
|
14
14
|
ArrayOfEqualSizedArrays,
|
15
15
|
FixedSizeArray,
|
16
|
+
Histogram,
|
16
17
|
Scalar,
|
17
18
|
Struct,
|
18
19
|
Table,
|
@@ -168,6 +169,19 @@ def _h5_read_lgdo(
|
|
168
169
|
decompress=decompress,
|
169
170
|
)
|
170
171
|
|
172
|
+
if lgdotype is Histogram:
|
173
|
+
return _h5_read_histogram(
|
174
|
+
h5o,
|
175
|
+
start_row=start_row,
|
176
|
+
n_rows=n_rows,
|
177
|
+
idx=idx,
|
178
|
+
use_h5idx=use_h5idx,
|
179
|
+
field_mask=field_mask,
|
180
|
+
obj_buf=obj_buf,
|
181
|
+
obj_buf_start=obj_buf_start,
|
182
|
+
decompress=decompress,
|
183
|
+
)
|
184
|
+
|
171
185
|
if lgdotype is ArrayOfEncodedEqualSizedArrays:
|
172
186
|
return _h5_read_array_of_encoded_equalsized_arrays(
|
173
187
|
h5o,
|
@@ -385,3 +399,51 @@ def _h5_read_table(
|
|
385
399
|
utils.check_obj_buf_attrs(obj_buf.attrs, attrs, h5g)
|
386
400
|
|
387
401
|
return obj_buf, n_rows_read
|
402
|
+
|
403
|
+
|
404
|
+
def _h5_read_histogram(
|
405
|
+
h5g,
|
406
|
+
start_row=0,
|
407
|
+
n_rows=sys.maxsize,
|
408
|
+
idx=None,
|
409
|
+
use_h5idx=False,
|
410
|
+
field_mask=None,
|
411
|
+
obj_buf=None,
|
412
|
+
obj_buf_start=0,
|
413
|
+
decompress=True,
|
414
|
+
):
|
415
|
+
if obj_buf is not None or obj_buf_start != 0:
|
416
|
+
msg = "reading a histogram into an existing object buffer is not supported"
|
417
|
+
raise LH5DecodeError(msg, h5g)
|
418
|
+
|
419
|
+
struct, n_rows_read = _h5_read_struct(
|
420
|
+
h5g,
|
421
|
+
start_row,
|
422
|
+
n_rows,
|
423
|
+
idx,
|
424
|
+
use_h5idx,
|
425
|
+
field_mask,
|
426
|
+
decompress,
|
427
|
+
)
|
428
|
+
binning = []
|
429
|
+
for _, a in struct.binning.items():
|
430
|
+
be = a.binedges
|
431
|
+
if isinstance(be, Struct):
|
432
|
+
b = (None, be.first.value, be.last.value, be.step.value, a.closedleft.value)
|
433
|
+
elif isinstance(be, Array):
|
434
|
+
b = (be, None, None, None, a.closedleft.value)
|
435
|
+
else:
|
436
|
+
msg = "unexpected binning of histogram"
|
437
|
+
raise LH5DecodeError(msg, h5g)
|
438
|
+
ax = Histogram.Axis(*b)
|
439
|
+
# copy attrs to "clone" the "whole" struct.
|
440
|
+
ax.attrs = a.getattrs(datatype=True)
|
441
|
+
ax["binedges"].attrs = be.getattrs(datatype=True)
|
442
|
+
binning.append(ax)
|
443
|
+
|
444
|
+
isdensity = struct.isdensity.value
|
445
|
+
weights = struct.weights
|
446
|
+
attrs = struct.getattrs(datatype=True)
|
447
|
+
histogram = Histogram(weights, binning, isdensity, attrs=attrs)
|
448
|
+
|
449
|
+
return histogram, n_rows_read
|
{legend_pydataobj-1.8.0 → legend_pydataobj-1.9.0}/src/lgdo/lh5/_serializers/write/composite.py
RENAMED
@@ -63,8 +63,15 @@ def _h5_write_lgdo(
|
|
63
63
|
msg = f"can't overwrite '{name}' in wo_mode 'write_safe'"
|
64
64
|
raise LH5EncodeError(msg, lh5_file, group, name)
|
65
65
|
|
66
|
-
# struct
|
66
|
+
# struct, table, waveform table or histogram.
|
67
67
|
if isinstance(obj, types.Struct):
|
68
|
+
if isinstance(obj, types.Histogram) and wo_mode not in ["w", "o", "of"]:
|
69
|
+
msg = f"can't append-write histogram in wo_mode '{wo_mode}'"
|
70
|
+
raise LH5EncodeError(msg, lh5_file, group, name)
|
71
|
+
if isinstance(obj, types.Histogram) and write_start != 0:
|
72
|
+
msg = f"can't write histogram in wo_mode '{wo_mode}' with write_start != 0"
|
73
|
+
raise LH5EncodeError(msg, lh5_file, group, name)
|
74
|
+
|
68
75
|
return _h5_write_struct(
|
69
76
|
obj,
|
70
77
|
name,
|
@@ -115,9 +115,9 @@ def read(
|
|
115
115
|
else:
|
116
116
|
lh5_obj = []
|
117
117
|
for h5f in lh5_file:
|
118
|
-
if isinstance(
|
118
|
+
if isinstance(h5f, str):
|
119
119
|
h5f = h5py.File(h5f, mode="r") # noqa: PLW2901
|
120
|
-
lh5_obj += h5f[name]
|
120
|
+
lh5_obj += [h5f[name]]
|
121
121
|
|
122
122
|
obj, n_rows_read = _serializers._h5_read_lgdo(
|
123
123
|
lh5_obj,
|
@@ -14,6 +14,7 @@ _lgdo_datatype_map: dict[str, lgdo.LGDO] = OrderedDict(
|
|
14
14
|
lgdo.ArrayOfEncodedEqualSizedArrays,
|
15
15
|
r"^array_of_encoded_equalsized_arrays<1,1>\{.+\}$",
|
16
16
|
),
|
17
|
+
(lgdo.Histogram, r"^struct\{binning,weights,isdensity\}$"),
|
17
18
|
(lgdo.Struct, r"^struct\{.*\}$"),
|
18
19
|
(lgdo.Table, r"^table\{.*\}$"),
|
19
20
|
(lgdo.FixedSizeArray, r"^fixedsize_array<\d+>\{.+\}$"),
|
@@ -6,6 +6,7 @@ from .array import Array
|
|
6
6
|
from .arrayofequalsizedarrays import ArrayOfEqualSizedArrays
|
7
7
|
from .encoded import ArrayOfEncodedEqualSizedArrays, VectorOfEncodedVectors
|
8
8
|
from .fixedsizearray import FixedSizeArray
|
9
|
+
from .histogram import Histogram
|
9
10
|
from .lgdo import LGDO
|
10
11
|
from .scalar import Scalar
|
11
12
|
from .struct import Struct
|
@@ -18,6 +19,7 @@ __all__ = [
|
|
18
19
|
"ArrayOfEqualSizedArrays",
|
19
20
|
"ArrayOfEncodedEqualSizedArrays",
|
20
21
|
"FixedSizeArray",
|
22
|
+
"Histogram",
|
21
23
|
"LGDO",
|
22
24
|
"Scalar",
|
23
25
|
"Struct",
|