Skip to content

Commit 98246c8

Browse files
committed
refactor: rename to raw_metadata for C++
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
1 parent 38ae735 commit 98246c8

4 files changed

Lines changed: 19 additions & 19 deletions

File tree

include/bh_python/register_axis.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,10 +189,10 @@ py::class_<A> register_axis(py::module& m, Args&&... args) {
189189
[](const A& self) { return bh::axis::traits::ordered(self); })
190190

191191
.def_property(
192-
"metadata",
192+
"raw_metadata",
193193
[](const A& self) { return self.metadata(); },
194194
[](A& self, const metadata_t& label) { self.metadata() = label; },
195-
"Set the axis label")
195+
"Set the metadata")
196196

197197
.def_property_readonly(
198198
"size",

src/boost_histogram/axis/__init__.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ def __init_subclass__(cls, *, family: object) -> None:
9191

9292
def __setattr__(self, attr: str, value: Any) -> None:
9393
if attr == "__dict__":
94-
self._ax.metadata = value
94+
self._ax.raw_metadata = value
9595
object.__setattr__(self, attr, value)
9696

9797
def __getattr__(self, attr: str) -> Any:
@@ -120,23 +120,23 @@ def __init__(
120120
"Cannot provide metadata by keyword and __dict__, use __dict__ only"
121121
)
122122
if __dict__ is not None:
123-
self._ax.metadata = __dict__
123+
self._ax.raw_metadata = __dict__
124124
elif metadata is not None:
125-
self._ax.metadata["metadata"] = metadata
125+
self._ax.raw_metadata["metadata"] = metadata
126126

127-
self.__dict__ = self._ax.metadata
127+
self.__dict__ = self._ax.raw_metadata
128128

129129
def __setstate__(self, state: dict[str, Any]) -> None:
130130
self._ax = state["_ax"]
131-
self.__dict__ = self._ax.metadata
131+
self.__dict__ = self._ax.raw_metadata
132132

133133
def __getstate__(self) -> dict[str, Any]:
134134
return {"_ax": self._ax}
135135

136136
def __copy__(self: T) -> T:
137137
other: T = self.__class__.__new__(self.__class__)
138138
other._ax = copy.copy(self._ax)
139-
other.__dict__ = other._ax.metadata
139+
other.__dict__ = other._ax.raw_metadata
140140
return other
141141

142142
def index(self, value: float | str) -> int:
@@ -176,7 +176,7 @@ def __ne__(self, other: object) -> bool:
176176
def _convert_cpp(cls: type[T], cpp_object: Any) -> T:
177177
nice_ax: T = cls.__new__(cls)
178178
nice_ax._ax = cpp_object
179-
nice_ax.__dict__ = cpp_object.metadata
179+
nice_ax.__dict__ = cpp_object.raw_metadata
180180
return nice_ax
181181

182182
def __len__(self) -> int:

src/boost_histogram/histogram.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -351,9 +351,9 @@ def _clone(
351351

352352
for ax in self.axes:
353353
if memo is NOTHING:
354-
ax.__dict__ = copy.copy(ax._ax.metadata)
354+
ax.__dict__ = copy.copy(ax._ax.raw_metadata)
355355
else:
356-
ax.__dict__ = copy.deepcopy(ax._ax.metadata, memo)
356+
ax.__dict__ = copy.deepcopy(ax._ax.raw_metadata, memo)
357357
return self
358358

359359
def _new_hist(self: H, _hist: CppHistogram, memo: Any = NOTHING) -> H:
@@ -380,7 +380,7 @@ def _from_histogram_object(self, other: Histogram) -> None:
380380
self.__dict__ = copy.copy(other.__dict__)
381381
self.axes = self._generate_axes_()
382382
for ax in self.axes:
383-
ax.__dict__ = copy.copy(ax._ax.metadata)
383+
ax.__dict__ = copy.copy(ax._ax.raw_metadata)
384384

385385
# Allow custom behavior on either "from" or "to"
386386
other._export_bh_(self)
@@ -714,7 +714,7 @@ def __setstate__(self, state: Any) -> None:
714714
self._variance_known = True
715715
self.metadata = state.get("metadata", None)
716716
for i in range(self._hist.rank()):
717-
self._hist.axis(i).metadata = {"metadata": self._hist.axis(i).metadata}
717+
self._hist.axis(i).raw_metadata = {"metadata": self._hist.axis(i).raw_metadata}
718718

719719
self.axes = self._generate_axes_()
720720

@@ -986,7 +986,7 @@ def __getitem__(self: H, index: IndexingExpr) -> H | float | Accumulator:
986986
if new_axis is None:
987987
new_axis = Variable(
988988
new_axes_indices,
989-
__dict__=axes[i].metadata,
989+
__dict__=axes[i].raw_metadata,
990990
underflow=axes[i].traits_underflow,
991991
overflow=axes[i].traits_overflow,
992992
)
@@ -1072,7 +1072,7 @@ def __getitem__(self: H, index: IndexingExpr) -> H | float | Accumulator:
10721072
selection.append(ax.size)
10731073

10741074
new_axis = axes[i].__class__([axes[i].value(j) for j in pick_set[i]]) # type: ignore[call-arg]
1075-
new_axis.metadata = axes[i].metadata
1075+
new_axis.raw_metadata = axes[i].raw_metadata
10761076
axes[i] = new_axis
10771077
reduced_view = np.take(reduced_view, selection, axis=i)
10781078

tests/test_minihist_title.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def name(self):
4646
@name.setter
4747
def name(self, values):
4848
for ax, val in zip(self, values):
49-
ax._ax.metadata["name"] = f"test: {val}"
49+
ax._ax.raw_metadata["name"] = f"test: {val}"
5050

5151

5252
# When you subclass Histogram or an Axes, you should register your family so
@@ -65,7 +65,7 @@ def name(self):
6565
"""
6666
Get the name for the Regular axis
6767
"""
68-
return self._ax.metadata.get("name", "")
68+
return self._ax.raw_metadata.get("name", "")
6969

7070

7171
# The order of the mixin is important here - it must be first
@@ -78,15 +78,15 @@ class Regular(bh.axis.Regular, AxesMixin, family=CUSTOM_FAMILY):
7878

7979
def __init__(self, bins, start, stop, name):
8080
super().__init__(bins, start, stop)
81-
self._ax.metadata["name"] = name
81+
self._ax.raw_metadata["name"] = name
8282

8383

8484
class Integer(AxesMixin, bh.axis.Integer, family=CUSTOM_FAMILY):
8585
__slots__ = ()
8686

8787
def __init__(self, start, stop, name):
8888
super().__init__(start, stop)
89-
self._ax.metadata["name"] = name
89+
self._ax.raw_metadata["name"] = name
9090

9191

9292
class CustomHist(bh.Histogram, family=CUSTOM_FAMILY):

0 commit comments

Comments
 (0)