legend-pydataobj 1.2.1__tar.gz → 1.4.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.2.1 → legend_pydataobj-1.4.0}/PKG-INFO +1 -1
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/legend_pydataobj.egg-info/PKG-INFO +1 -1
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/legend_pydataobj.egg-info/SOURCES.txt +2 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/_version.py +2 -2
- legend_pydataobj-1.4.0/src/lgdo/cli.py +56 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/compression/base.py +2 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/compression/generic.py +8 -2
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/compression/radware.py +226 -112
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/compression/varlen.py +30 -21
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/lh5_store.py +173 -64
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/types/scalar.py +1 -1
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/types/table.py +6 -3
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/compression/test_radware_sigcompress.py +104 -75
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/compression/test_uleb128_zigzag_diff.py +1 -1
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/conftest.py +1 -1
- legend_pydataobj-1.4.0/tests/test_cli.py +13 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/test_lh5_store.py +117 -8
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/LICENSE +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/README.md +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/pyproject.toml +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/setup.cfg +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/setup.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/legend_pydataobj.egg-info/dependency_links.txt +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/legend_pydataobj.egg-info/entry_points.txt +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/legend_pydataobj.egg-info/not-zip-safe +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/legend_pydataobj.egg-info/requires.txt +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/legend_pydataobj.egg-info/top_level.txt +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/__init__.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/compression/__init__.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/compression/utils.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/lgdo_utils.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/logging.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/types/__init__.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/types/array.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/types/arrayofequalsizedarrays.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/types/encoded.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/types/fixedsizearray.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/types/lgdo.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/types/struct.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/types/vectorofvectors.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/src/lgdo/types/waveform_table.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/compression/conftest.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/compression/sigcompress/LDQTA_r117_20200110T105115Z_cal_geds_raw-0.dat +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/compression/sigcompress/special-wf-clipped.dat +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/compression/test_compression.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/compression/test_str2wfcodec.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/test_lgdo_utils.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/test_lh5_iterator.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/types/test_array.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/types/test_arrayofequalsizedarrays.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/types/test_encoded.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/types/test_fixedsizearray.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/types/test_representations.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/types/test_scalar.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/types/test_struct.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/types/test_table.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/types/test_table_eval.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/types/test_vectorofvectors.py +0 -0
- {legend_pydataobj-1.2.1 → legend_pydataobj-1.4.0}/tests/types/test_waveform_table.py +0 -0
@@ -12,6 +12,7 @@ src/legend_pydataobj.egg-info/requires.txt
|
|
12
12
|
src/legend_pydataobj.egg-info/top_level.txt
|
13
13
|
src/lgdo/__init__.py
|
14
14
|
src/lgdo/_version.py
|
15
|
+
src/lgdo/cli.py
|
15
16
|
src/lgdo/lgdo_utils.py
|
16
17
|
src/lgdo/lh5_store.py
|
17
18
|
src/lgdo/logging.py
|
@@ -33,6 +34,7 @@ src/lgdo/types/table.py
|
|
33
34
|
src/lgdo/types/vectorofvectors.py
|
34
35
|
src/lgdo/types/waveform_table.py
|
35
36
|
tests/conftest.py
|
37
|
+
tests/test_cli.py
|
36
38
|
tests/test_lgdo_utils.py
|
37
39
|
tests/test_lh5_iterator.py
|
38
40
|
tests/test_lh5_store.py
|
@@ -0,0 +1,56 @@
|
|
1
|
+
"""legend-pydataobj's command line interface utilities."""
|
2
|
+
import argparse
|
3
|
+
import logging
|
4
|
+
import sys
|
5
|
+
|
6
|
+
import lgdo
|
7
|
+
import lgdo.logging
|
8
|
+
from lgdo import show
|
9
|
+
|
10
|
+
|
11
|
+
def lh5ls():
|
12
|
+
""":func:`.show` command line interface."""
|
13
|
+
parser = argparse.ArgumentParser(
|
14
|
+
prog="lh5ls", description="Inspect LEGEND HDF5 (LH5) file contents"
|
15
|
+
)
|
16
|
+
|
17
|
+
# global options
|
18
|
+
parser.add_argument(
|
19
|
+
"--version", action="store_true", help="""Print lgdo version and exit"""
|
20
|
+
)
|
21
|
+
parser.add_argument(
|
22
|
+
"--verbose",
|
23
|
+
"-v",
|
24
|
+
action="store_true",
|
25
|
+
help="""Increase the program verbosity""",
|
26
|
+
)
|
27
|
+
parser.add_argument(
|
28
|
+
"--debug",
|
29
|
+
"-d",
|
30
|
+
action="store_true",
|
31
|
+
help="""Increase the program verbosity to maximum""",
|
32
|
+
)
|
33
|
+
|
34
|
+
parser.add_argument(
|
35
|
+
"lh5_file",
|
36
|
+
help="""Input LH5 file.""",
|
37
|
+
)
|
38
|
+
parser.add_argument("lh5_group", nargs="?", help="""LH5 group.""", default="/")
|
39
|
+
parser.add_argument(
|
40
|
+
"--attributes", "-a", action="store_true", help="""Print HDF5 attributes too"""
|
41
|
+
)
|
42
|
+
|
43
|
+
args = parser.parse_args()
|
44
|
+
|
45
|
+
if args.verbose:
|
46
|
+
lgdo.logging.setup(logging.DEBUG)
|
47
|
+
elif args.debug:
|
48
|
+
lgdo.logging.setup(logging.DEBUG, logging.root)
|
49
|
+
else:
|
50
|
+
lgdo.logging.setup()
|
51
|
+
|
52
|
+
if args.version:
|
53
|
+
print(lgdo.__version__) # noqa: T201
|
54
|
+
sys.exit()
|
55
|
+
|
56
|
+
show(args.lh5_file, args.lh5_group, attrs=args.attributes)
|
@@ -40,6 +40,7 @@ def encode(
|
|
40
40
|
|
41
41
|
def decode(
|
42
42
|
obj: lgdo.VectorOfEncodedVectors | lgdo.ArrayOfEncodedEqualSizedArrays,
|
43
|
+
out_buf: lgdo.ArrayOfEqualSizedArrays = None,
|
43
44
|
) -> lgdo.VectorOfVectors | lgdo.ArrayOfEqualsizedArrays:
|
44
45
|
"""Decode encoded LGDOs.
|
45
46
|
|
@@ -51,6 +52,9 @@ def decode(
|
|
51
52
|
----------
|
52
53
|
obj
|
53
54
|
LGDO array type.
|
55
|
+
out_buf
|
56
|
+
pre-allocated LGDO for the decoded signals. See documentation of
|
57
|
+
wrapped encoders for limitations.
|
54
58
|
"""
|
55
59
|
if "codec" not in obj.attrs:
|
56
60
|
raise RuntimeError(
|
@@ -61,9 +65,11 @@ def decode(
|
|
61
65
|
log.debug(f"decoding {repr(obj)} with {codec}")
|
62
66
|
|
63
67
|
if _is_codec(codec, radware.RadwareSigcompress):
|
64
|
-
return radware.decode(
|
68
|
+
return radware.decode(
|
69
|
+
obj, sig_out=out_buf, shift=int(obj.attrs.get("codec_shift", 0))
|
70
|
+
)
|
65
71
|
elif _is_codec(codec, varlen.ULEB128ZigZagDiff):
|
66
|
-
return varlen.decode(obj)
|
72
|
+
return varlen.decode(obj, sig_out=out_buf)
|
67
73
|
else:
|
68
74
|
raise ValueError(f"'{codec}' not supported")
|
69
75
|
|