Skip to content

Commit 1c5e342

Browse files
committed
fix: add writer_info
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
1 parent 053cead commit 1c5e342

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

src/boost_histogram/serialization/_axis.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ def _(ax: axis.Regular | axis.Integer, /) -> dict[str, Any]:
4242
"overflow": ax.traits.overflow,
4343
"circular": ax.traits.circular,
4444
}
45+
if isinstance(ax, axis.Integer):
46+
data["writer_info"] = {"boost-histogram": {"orig_type": "Integer"}}
4547
if ax.metadata is not None:
4648
data["metadata"] = ax.metadata
4749

src/boost_histogram/serialization/_storage.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,12 @@ def _storage_to_dict(_storage: Any, /, data: Any) -> dict[str, Any]: # noqa: AR
2626
@_storage_to_dict.register(storage.Int64)
2727
@_storage_to_dict.register(storage.Unlimited)
2828
def _(
29-
_storage: storage.AtomicInt64 | storage.Double | storage.Int64 | storage.Unlimited,
29+
storage_: storage.AtomicInt64 | storage.Double | storage.Int64 | storage.Unlimited,
3030
/,
3131
data: Any,
3232
) -> dict[str, Any]:
3333
return {
34+
"writer_info": {"boost-histogram": {"orig_type": type(storage_).__name__}},
3435
"type": "int" if np.issubdtype(data.dtype, np.integer) else "double",
3536
"values": data,
3637
}

src/boost_histogram/serialization/generic.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from typing import Any
44

5-
from .. import Histogram
5+
from .. import Histogram, __version__
66
from ._axis import _axis_from_dict, _axis_to_dict
77
from ._storage import _data_from_dict, _storage_from_dict, _storage_to_dict
88

@@ -18,6 +18,7 @@ def to_dict(h: Histogram, /) -> dict[str, Any]:
1818

1919
# Convert the histogram to a dictionary
2020
data = {
21+
"writer_info": {"boost-histogram": {"version": __version__}},
2122
"axes": [_axis_to_dict(axis) for axis in h.axes],
2223
"storage": _storage_to_dict(h.storage_type(), h.view(flow=True)),
2324
}

0 commit comments

Comments
 (0)