pyglove 0.4.5.dev202411130808__py3-none-any.whl → 0.4.5.dev202411132359__py3-none-any.whl
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.
- pyglove/core/symbolic/dict.py +2 -2
- pyglove/core/symbolic/object.py +7 -8
- pyglove/core/symbolic/ref.py +3 -1
- pyglove/core/symbolic/ref_test.py +5 -0
- {pyglove-0.4.5.dev202411130808.dist-info → pyglove-0.4.5.dev202411132359.dist-info}/METADATA +1 -1
- {pyglove-0.4.5.dev202411130808.dist-info → pyglove-0.4.5.dev202411132359.dist-info}/RECORD +9 -9
- {pyglove-0.4.5.dev202411130808.dist-info → pyglove-0.4.5.dev202411132359.dist-info}/WHEEL +1 -1
- {pyglove-0.4.5.dev202411130808.dist-info → pyglove-0.4.5.dev202411132359.dist-info}/LICENSE +0 -0
- {pyglove-0.4.5.dev202411130808.dist-info → pyglove-0.4.5.dev202411132359.dist-info}/top_level.txt +0 -0
pyglove/core/symbolic/dict.py
CHANGED
@@ -408,9 +408,9 @@ class Dict(dict, base.Symbolic, pg_typing.CustomTyping):
|
|
408
408
|
return value
|
409
409
|
|
410
410
|
if value.__class__ is base_value.__class__:
|
411
|
-
getter = lambda x, k: x.sym_getattr(k)
|
411
|
+
getter = lambda x, k: x.sym_getattr(k, pg_typing.MISSING_VALUE)
|
412
412
|
elif isinstance(value, dict) and isinstance(base_value, dict):
|
413
|
-
getter = lambda x, k: x
|
413
|
+
getter = lambda x, k: x.get(k, pg_typing.MISSING_VALUE)
|
414
414
|
else:
|
415
415
|
return value
|
416
416
|
|
pyglove/core/symbolic/object.py
CHANGED
@@ -971,14 +971,13 @@ class Object(base.Symbolic, metaclass=ObjectMeta):
|
|
971
971
|
|
972
972
|
def sym_jsonify(self, **kwargs) -> object_utils.JSONValueType:
|
973
973
|
"""Converts current object to a dict of plain Python objects."""
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
])
|
974
|
+
json_dict = {
|
975
|
+
object_utils.JSONConvertible.TYPE_NAME_KEY: (
|
976
|
+
self.__class__.__serialization_key__
|
977
|
+
)
|
978
|
+
}
|
979
|
+
json_dict.update(self._sym_attributes.to_json(**kwargs))
|
980
|
+
return json_dict
|
982
981
|
|
983
982
|
def format(self,
|
984
983
|
compact: bool = False,
|
pyglove/core/symbolic/ref.py
CHANGED
@@ -137,7 +137,9 @@ class Ref(Object, base.Inferential, tree_view.HtmlTreeView.Extension):
|
|
137
137
|
def sym_eq(self, other: Any) -> bool:
|
138
138
|
return isinstance(other, Ref) and self.value is other.value
|
139
139
|
|
140
|
-
def sym_jsonify(self, **kwargs: Any) -> Any:
|
140
|
+
def sym_jsonify(self, *, save_ref_value: bool = False, **kwargs: Any) -> Any:
|
141
|
+
if save_ref_value:
|
142
|
+
return base.to_json(self._value, save_ref_value=save_ref_value, **kwargs)
|
141
143
|
raise TypeError(f'{self!r} cannot be serialized at the moment.')
|
142
144
|
|
143
145
|
def __getstate__(self):
|
@@ -112,6 +112,11 @@ class RefTest(unittest.TestCase):
|
|
112
112
|
TypeError, '.* cannot be serialized at the moment'):
|
113
113
|
ref.Ref(A(1)).to_json()
|
114
114
|
|
115
|
+
self.assertEqual(
|
116
|
+
ref.Ref(A(1)).to_json(save_ref_value=True),
|
117
|
+
A(1).to_json()
|
118
|
+
)
|
119
|
+
|
115
120
|
def test_pickle(self):
|
116
121
|
with self.assertRaisesRegex(
|
117
122
|
TypeError, '.* cannot be pickled at the moment'):
|
@@ -86,7 +86,7 @@ pyglove/core/symbolic/class_wrapper.py,sha256=s8TL7LLim4xRcC5fxlYMuS1zdaEDIZomSF
|
|
86
86
|
pyglove/core/symbolic/class_wrapper_test.py,sha256=bPK-qZ7tVKanzXb1mZ4StkLB5kHtecBjKBesg2NQfL0,21636
|
87
87
|
pyglove/core/symbolic/compounding.py,sha256=zg6x09rtaSEb5v5pYJWWWpI5Cezy2Oy1iuWw4LUj2HY,11717
|
88
88
|
pyglove/core/symbolic/compounding_test.py,sha256=PSnk_ds0q6pRJrpN9teMwZtMrbUp5_P-D7ea7wRTK6k,8372
|
89
|
-
pyglove/core/symbolic/dict.py,sha256=
|
89
|
+
pyglove/core/symbolic/dict.py,sha256=pArDaHDktq5D522-9pS78bMYfwUzEftc-eDRaW7FJZ0,36893
|
90
90
|
pyglove/core/symbolic/dict_test.py,sha256=09kAEy_Kiwr8O59CIKK9a9KG-xxJJEIKbfEcZhs5KfU,70809
|
91
91
|
pyglove/core/symbolic/diff.py,sha256=UFjC6GnH_yzutuJHSao-di9qVeWL1amBYUJrEKmol3U,16351
|
92
92
|
pyglove/core/symbolic/diff_test.py,sha256=EDiGHqqKhi-NeMxr-bgjBEqlquee_4l_0IM6hgAb9Mg,29400
|
@@ -98,13 +98,13 @@ pyglove/core/symbolic/inferred.py,sha256=jGCKXLkYGDs-iUflR57UWrCrOQIpkpv5kHVyj-J
|
|
98
98
|
pyglove/core/symbolic/inferred_test.py,sha256=G6uPykONcChvs6vZujXHSWaYfjewLTVBscMqzzKNty0,1270
|
99
99
|
pyglove/core/symbolic/list.py,sha256=63v4Ph0FdkoCDj1FjwcmjUHGZSJLBLxaTKcGg7PdghE,30345
|
100
100
|
pyglove/core/symbolic/list_test.py,sha256=yHYAJhe_EYwtU9p8eDztSXNBjnAGKe0UDN5U6S-xDr8,60627
|
101
|
-
pyglove/core/symbolic/object.py,sha256=
|
101
|
+
pyglove/core/symbolic/object.py,sha256=oSb5pNxQDdvrjCFYsWARa8NkQxWIjdCo9lTbETiVQ38,42335
|
102
102
|
pyglove/core/symbolic/object_test.py,sha256=IRoeBr8j1SJVohDkEaat0KlW5YQfco6zARTh3qOW0Jc,93092
|
103
103
|
pyglove/core/symbolic/origin.py,sha256=5bH1jZvFHY5jwku32vDm8Bj2i-buv-YNuzOOsA5GlSA,6177
|
104
104
|
pyglove/core/symbolic/origin_test.py,sha256=dU_ZGrGDetM_lYVMn3wQO0d367_t_t8eESe3NrKPBNE,3159
|
105
105
|
pyglove/core/symbolic/pure_symbolic.py,sha256=FVq-5Cg5uZe3ybTIrTqTHIEJIpje0oxzV2kKL6UKlsU,3244
|
106
|
-
pyglove/core/symbolic/ref.py,sha256=
|
107
|
-
pyglove/core/symbolic/ref_test.py,sha256=
|
106
|
+
pyglove/core/symbolic/ref.py,sha256=Kf2QKRBi4uP7Ql4zL8hh6Le1fUWTo5c0kiGzg06ZpAQ,8204
|
107
|
+
pyglove/core/symbolic/ref_test.py,sha256=ZQV7qb6LGnLyyYgY1fL86rfMZ6T3uy_leQDAd2Bd5Tc,5890
|
108
108
|
pyglove/core/symbolic/symbolize.py,sha256=ohID9-V8QiFe7OMpPlRomiqUnKBVMpypd8ZuMuHaa4s,6582
|
109
109
|
pyglove/core/symbolic/symbolize_test.py,sha256=o7bRfMhGc6uw2FIH8arE99-bPb3i0YixcHYyiP-QqeQ,6487
|
110
110
|
pyglove/core/tuning/__init__.py,sha256=JtXpjsBto01fLf55hZ1dSx-CEZUyVQeyRP9AMH_hw8c,2229
|
@@ -196,8 +196,8 @@ pyglove/ext/scalars/randoms.py,sha256=LkMIIx7lOq_lvJvVS3BrgWGuWl7Pi91-lA-O8x_gZs
|
|
196
196
|
pyglove/ext/scalars/randoms_test.py,sha256=nEhiqarg8l_5EOucp59CYrpO2uKxS1pe0hmBdZUzRNM,2000
|
197
197
|
pyglove/ext/scalars/step_wise.py,sha256=IDw3tuTpv0KVh7AN44W43zqm1-E0HWPUlytWOQC9w3Y,3789
|
198
198
|
pyglove/ext/scalars/step_wise_test.py,sha256=TL1vJ19xVx2t5HKuyIzGoogF7N3Rm8YhLE6JF7i0iy8,2540
|
199
|
-
pyglove-0.4.5.
|
200
|
-
pyglove-0.4.5.
|
201
|
-
pyglove-0.4.5.
|
202
|
-
pyglove-0.4.5.
|
203
|
-
pyglove-0.4.5.
|
199
|
+
pyglove-0.4.5.dev202411132359.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
200
|
+
pyglove-0.4.5.dev202411132359.dist-info/METADATA,sha256=ygZvraZ7Q2rJF_sKc9Mg2EG5x2Jclm-kYIqV1xO9kU0,6666
|
201
|
+
pyglove-0.4.5.dev202411132359.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
|
202
|
+
pyglove-0.4.5.dev202411132359.dist-info/top_level.txt,sha256=wITzJSKcj8GZUkbq-MvUQnFadkiuAv_qv5qQMw0fIow,8
|
203
|
+
pyglove-0.4.5.dev202411132359.dist-info/RECORD,,
|
File without changes
|
{pyglove-0.4.5.dev202411130808.dist-info → pyglove-0.4.5.dev202411132359.dist-info}/top_level.txt
RENAMED
File without changes
|