pyglove 0.4.5.dev202410110105__py3-none-any.whl → 0.4.5.dev202410160809__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/ref.py +6 -3
- pyglove/core/views/html/tree_view.py +46 -19
- pyglove/core/views/html/tree_view_test.py +37 -13
- {pyglove-0.4.5.dev202410110105.dist-info → pyglove-0.4.5.dev202410160809.dist-info}/METADATA +1 -1
- {pyglove-0.4.5.dev202410110105.dist-info → pyglove-0.4.5.dev202410160809.dist-info}/RECORD +8 -8
- {pyglove-0.4.5.dev202410110105.dist-info → pyglove-0.4.5.dev202410160809.dist-info}/LICENSE +0 -0
- {pyglove-0.4.5.dev202410110105.dist-info → pyglove-0.4.5.dev202410160809.dist-info}/WHEEL +0 -0
- {pyglove-0.4.5.dev202410110105.dist-info → pyglove-0.4.5.dev202410160809.dist-info}/top_level.txt +0 -0
pyglove/core/symbolic/ref.py
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
"""Symbolic reference."""
|
15
15
|
|
16
16
|
import numbers
|
17
|
-
from typing import Any, Callable, Optional, Tuple
|
17
|
+
from typing import Any, Callable, List, Optional, Tuple
|
18
18
|
from pyglove.core import object_utils
|
19
19
|
from pyglove.core import typing as pg_typing
|
20
20
|
from pyglove.core.symbolic import base
|
@@ -182,14 +182,17 @@ class Ref(Object, base.Inferential):
|
|
182
182
|
self,
|
183
183
|
title=title or f'{type(self._value).__name__}(...)',
|
184
184
|
**kwargs
|
185
|
-
)
|
185
|
+
)
|
186
|
+
|
187
|
+
def _html_style(self) -> List[str]:
|
188
|
+
return [
|
186
189
|
"""
|
187
190
|
details.ref .summary_title::before {
|
188
191
|
content: 'ref: ';
|
189
192
|
color: #aaa;
|
190
193
|
}
|
191
194
|
"""
|
192
|
-
|
195
|
+
]
|
193
196
|
|
194
197
|
|
195
198
|
def maybe_ref(value: Any) -> Optional[Ref]:
|
@@ -54,9 +54,15 @@ class HtmlTreeView(HtmlView):
|
|
54
54
|
"""Returns the keys to include (at the immediate child level)."""
|
55
55
|
return []
|
56
56
|
|
57
|
-
def
|
58
|
-
"""Returns the level
|
59
|
-
|
57
|
+
def _html_tree_view_uncollapse_level(self) -> Optional[int]:
|
58
|
+
"""Returns the level of the subtree to uncollapse.
|
59
|
+
|
60
|
+
Returns:
|
61
|
+
The level of subtree to uncollapse. If None, the subtree will be fully
|
62
|
+
expanded. Please note that the uncollapsed subtree will show only when
|
63
|
+
current node is uncollapsed.
|
64
|
+
"""
|
65
|
+
return 1
|
60
66
|
|
61
67
|
def _html_tree_view_uncollapse(self) -> KeyPathSet:
|
62
68
|
"""Returns the node paths (relative to current node) to uncollapse."""
|
@@ -77,8 +83,10 @@ class HtmlTreeView(HtmlView):
|
|
77
83
|
special_keys: Optional[Sequence[Union[int, str]]] = None,
|
78
84
|
include_keys: Optional[Iterable[Union[int, str]]] = None,
|
79
85
|
exclude_keys: Optional[Iterable[Union[int, str]]] = None,
|
80
|
-
collapse_level: Optional[int] = 1,
|
81
|
-
uncollapse: Union[
|
86
|
+
collapse_level: Optional[int] = HtmlView.PresetArgValue(1),
|
87
|
+
uncollapse: Union[
|
88
|
+
KeyPathSet, base.NodeFilter, None
|
89
|
+
] = HtmlView.PresetArgValue(None),
|
82
90
|
filter: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None), # pylint: disable=redefined-builtin
|
83
91
|
highlight: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None),
|
84
92
|
lowlight: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None),
|
@@ -198,8 +206,10 @@ class HtmlTreeView(HtmlView):
|
|
198
206
|
special_keys: Optional[Sequence[Union[int, str]]] = None,
|
199
207
|
include_keys: Optional[Iterable[Union[int, str]]] = None,
|
200
208
|
exclude_keys: Optional[Iterable[Union[int, str]]] = None,
|
201
|
-
collapse_level: Optional[int] = 1,
|
202
|
-
uncollapse: Union[
|
209
|
+
collapse_level: Optional[int] = HtmlView.PresetArgValue(1),
|
210
|
+
uncollapse: Union[
|
211
|
+
KeyPathSet, base.NodeFilter, None
|
212
|
+
] = HtmlView.PresetArgValue(None),
|
203
213
|
filter: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None), # pylint: disable=redefined-builtin
|
204
214
|
highlight: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None),
|
205
215
|
lowlight: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None),
|
@@ -301,8 +311,10 @@ class HtmlTreeView(HtmlView):
|
|
301
311
|
special_keys: Optional[Sequence[Union[int, str]]] = None,
|
302
312
|
include_keys: Optional[Iterable[Union[int, str]]] = None,
|
303
313
|
exclude_keys: Optional[Iterable[Union[int, str]]] = None,
|
304
|
-
collapse_level: Optional[int] = 1,
|
305
|
-
uncollapse: Union[
|
314
|
+
collapse_level: Optional[int] = HtmlView.PresetArgValue(1),
|
315
|
+
uncollapse: Union[
|
316
|
+
KeyPathSet, base.NodeFilter, None
|
317
|
+
] = HtmlView.PresetArgValue(None),
|
306
318
|
filter: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None), # pylint: disable=redefined-builtin
|
307
319
|
highlight: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None),
|
308
320
|
lowlight: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None),
|
@@ -347,17 +359,17 @@ class HtmlTreeView(HtmlView):
|
|
347
359
|
root_path = root_path or KeyPath()
|
348
360
|
uncollapse = self.init_uncollapse(uncollapse)
|
349
361
|
|
362
|
+
child_collapse_level = collapse_level
|
350
363
|
if isinstance(value, HtmlTreeView.Extension):
|
351
|
-
|
364
|
+
subtree_uncollapse_level = value._html_tree_view_uncollapse_level() # pylint: disable=protected-access
|
352
365
|
|
353
366
|
# If the extension has child levels to uncollapse, honor them above the
|
354
367
|
# collapse level passed from the root. However, we can see the
|
355
368
|
# uncollapsed extension subtree only when the extension's parent node is
|
356
369
|
# uncollapsed.
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
370
|
+
child_collapse_level = self.max_collapse_level(
|
371
|
+
collapse_level, subtree_uncollapse_level, root_path
|
372
|
+
)
|
361
373
|
if not callable(uncollapse):
|
362
374
|
extension_uncollapse = value._html_tree_view_uncollapse().copy() # pylint: disable=protected-access
|
363
375
|
if extension_uncollapse:
|
@@ -384,7 +396,7 @@ class HtmlTreeView(HtmlView):
|
|
384
396
|
special_keys=special_keys,
|
385
397
|
include_keys=include_keys,
|
386
398
|
exclude_keys=exclude_keys,
|
387
|
-
collapse_level=
|
399
|
+
collapse_level=child_collapse_level,
|
388
400
|
uncollapse=uncollapse,
|
389
401
|
max_summary_len_for_str=max_summary_len_for_str,
|
390
402
|
enable_summary_tooltip=enable_summary_tooltip,
|
@@ -703,8 +715,10 @@ class HtmlTreeView(HtmlView):
|
|
703
715
|
special_keys: Optional[Sequence[Union[int, str]]] = None,
|
704
716
|
include_keys: Optional[Iterable[Union[int, str]]] = None,
|
705
717
|
exclude_keys: Optional[Iterable[Union[int, str]]] = None,
|
706
|
-
collapse_level: Optional[int] = 1,
|
707
|
-
uncollapse: Union[
|
718
|
+
collapse_level: Optional[int] = HtmlView.PresetArgValue(1),
|
719
|
+
uncollapse: Union[
|
720
|
+
KeyPathSet, base.NodeFilter, None
|
721
|
+
] = HtmlView.PresetArgValue(None),
|
708
722
|
filter: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None), # pylint: disable=redefined-builtin
|
709
723
|
highlight: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None),
|
710
724
|
lowlight: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None),
|
@@ -848,8 +862,10 @@ class HtmlTreeView(HtmlView):
|
|
848
862
|
special_keys: Optional[Sequence[Union[int, str]]] = None,
|
849
863
|
include_keys: Optional[Iterable[Union[int, str]]] = None,
|
850
864
|
exclude_keys: Optional[Iterable[Union[int, str]]] = None,
|
851
|
-
collapse_level: Optional[int] = 1,
|
852
|
-
uncollapse: Union[
|
865
|
+
collapse_level: Optional[int] = HtmlView.PresetArgValue(1),
|
866
|
+
uncollapse: Union[
|
867
|
+
KeyPathSet, base.NodeFilter, None
|
868
|
+
] = HtmlView.PresetArgValue(None),
|
853
869
|
filter: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None), # pylint: disable=redefined-builtin
|
854
870
|
highlight: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None),
|
855
871
|
lowlight: Optional[base.NodeFilter] = HtmlView.PresetArgValue(None),
|
@@ -1108,6 +1124,17 @@ class HtmlTreeView(HtmlView):
|
|
1108
1124
|
value = value if inspect.isclass(value) else type(value)
|
1109
1125
|
return object_utils.camel_to_snake(value.__name__, '-')
|
1110
1126
|
|
1127
|
+
@staticmethod
|
1128
|
+
def max_collapse_level(
|
1129
|
+
original_level: int | None,
|
1130
|
+
subtree_uncollapse_level: int | None,
|
1131
|
+
root_path: KeyPath
|
1132
|
+
) -> int | None:
|
1133
|
+
"""Consolidates the collapse level."""
|
1134
|
+
if original_level is None or subtree_uncollapse_level is None:
|
1135
|
+
return None
|
1136
|
+
return max(original_level, root_path.depth + subtree_uncollapse_level)
|
1137
|
+
|
1111
1138
|
|
1112
1139
|
_REGEX_CAMEL_TO_SNAKE = re.compile(r'(?<!^)(?=[A-Z])')
|
1113
1140
|
|
@@ -578,16 +578,18 @@ class ContentTest(TestCase):
|
|
578
578
|
'open',
|
579
579
|
4
|
580
580
|
)
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
581
|
+
with base.HtmlView.preset_args(collapse_level=4):
|
582
|
+
self.assert_count(
|
583
|
+
self._view.content(x),
|
584
|
+
'open',
|
585
|
+
6
|
586
|
+
)
|
587
|
+
with base.HtmlView.preset_args(collapse_level=None):
|
588
|
+
self.assert_count(
|
589
|
+
self._view.content(x),
|
590
|
+
'open',
|
591
|
+
8
|
592
|
+
)
|
591
593
|
|
592
594
|
def test_uncollapse(self):
|
593
595
|
x = dict(
|
@@ -729,8 +731,8 @@ class ExtensionTest(TestCase):
|
|
729
731
|
def _html_tree_view_exclude_keys(self) -> Sequence[str]:
|
730
732
|
return ['z']
|
731
733
|
|
732
|
-
def
|
733
|
-
return
|
734
|
+
def _html_tree_view_uncollapse_level(self) -> int:
|
735
|
+
return 2
|
734
736
|
|
735
737
|
def _html_tree_view_uncollapse(self) -> KeyPathSet:
|
736
738
|
return KeyPathSet(['x.a', 'y.b'], include_intermediate=True)
|
@@ -771,7 +773,29 @@ class ExtensionTest(TestCase):
|
|
771
773
|
collapse_level=0,
|
772
774
|
),
|
773
775
|
"""
|
774
|
-
<details class="pyglove list"><summary><div class="summary_title">list(...)</div></summary><div class="complex_value list"><table><tr><td><span class="object_key int">0</span></td><td><div><details open class="pyglove foo bar"><summary><div class="summary_title">Foo(...)</div></summary><div class="complex_value foo bar"><div class="special_value"><details open class="pyglove dict"><summary><div class="summary_name">x</div><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">a</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">foo</span></td><td><div><span class="simple_value int">2</span></div></td></tr></table></div></details></div></td></tr></table></div></details></div><table><tr><td><span class="object_key str">y</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">b</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">bar</span></td><td><div><span class="simple_value int">3</span></div></td></tr></table></div></details></div></td></tr></table></div></details></div></td></tr><tr><td><span class="object_key str">w</span></td><td><div><details class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">d</span></td><td><div><details class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">qux</span></td><td><div><span class="simple_value int">5</span></div></td></tr></table></div></details></div></td></tr></table></div></details></div></td></tr></table></div></details></div></td></tr></table></div></details>
|
776
|
+
<details class="pyglove list"><summary><div class="summary_title">list(...)</div></summary><div class="complex_value list"><table><tr><td><span class="object_key int">0</span></td><td><div><details open class="pyglove foo bar"><summary><div class="summary_title">Foo(...)</div></summary><div class="complex_value foo bar"><div class="special_value"><details open class="pyglove dict"><summary><div class="summary_name">x</div><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">a</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">foo</span></td><td><div><span class="simple_value int">2</span></div></td></tr></table></div></details></div></td></tr></table></div></details></div><table><tr><td><span class="object_key str">y</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">b</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">bar</span></td><td><div><span class="simple_value int">3</span></div></td></tr></table></div></details></div></td></tr></table></div></details></div></td></tr><tr><td><span class="object_key str">w</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">d</span></td><td><div><details class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">qux</span></td><td><div><span class="simple_value int">5</span></div></td></tr></table></div></details></div></td></tr></table></div></details></div></td></tr></table></div></details></div></td></tr></table></div></details>
|
777
|
+
"""
|
778
|
+
)
|
779
|
+
self.assert_content(
|
780
|
+
self._view.render(
|
781
|
+
[Foo()],
|
782
|
+
enable_summary_tooltip=False,
|
783
|
+
enable_key_tooltip=False,
|
784
|
+
collapse_level=1,
|
785
|
+
),
|
786
|
+
"""
|
787
|
+
<details open class="pyglove list"><summary><div class="summary_title">list(...)</div></summary><div class="complex_value list"><table><tr><td><span class="object_key int">0</span></td><td><div><details open class="pyglove foo bar"><summary><div class="summary_title">Foo(...)</div></summary><div class="complex_value foo bar"><div class="special_value"><details open class="pyglove dict"><summary><div class="summary_name">x</div><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">a</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">foo</span></td><td><div><span class="simple_value int">2</span></div></td></tr></table></div></details></div></td></tr></table></div></details></div><table><tr><td><span class="object_key str">y</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">b</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">bar</span></td><td><div><span class="simple_value int">3</span></div></td></tr></table></div></details></div></td></tr></table></div></details></div></td></tr><tr><td><span class="object_key str">w</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">d</span></td><td><div><details class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">qux</span></td><td><div><span class="simple_value int">5</span></div></td></tr></table></div></details></div></td></tr></table></div></details></div></td></tr></table></div></details></div></td></tr></table></div></details>
|
788
|
+
"""
|
789
|
+
)
|
790
|
+
self.assert_content(
|
791
|
+
self._view.render(
|
792
|
+
[Foo()],
|
793
|
+
enable_summary_tooltip=False,
|
794
|
+
enable_key_tooltip=False,
|
795
|
+
collapse_level=None,
|
796
|
+
),
|
797
|
+
"""
|
798
|
+
<details open class="pyglove list"><summary><div class="summary_title">list(...)</div></summary><div class="complex_value list"><table><tr><td><span class="object_key int">0</span></td><td><div><details open class="pyglove foo bar"><summary><div class="summary_title">Foo(...)</div></summary><div class="complex_value foo bar"><div class="special_value"><details open class="pyglove dict"><summary><div class="summary_name">x</div><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">a</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">foo</span></td><td><div><span class="simple_value int">2</span></div></td></tr></table></div></details></div></td></tr></table></div></details></div><table><tr><td><span class="object_key str">y</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">b</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">bar</span></td><td><div><span class="simple_value int">3</span></div></td></tr></table></div></details></div></td></tr></table></div></details></div></td></tr><tr><td><span class="object_key str">w</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">d</span></td><td><div><details open class="pyglove dict"><summary><div class="summary_title">dict(...)</div></summary><div class="complex_value dict"><table><tr><td><span class="object_key str">qux</span></td><td><div><span class="simple_value int">5</span></div></td></tr></table></div></details></div></td></tr></table></div></details></div></td></tr></table></div></details></div></td></tr></table></div></details>
|
775
799
|
"""
|
776
800
|
)
|
777
801
|
|
@@ -101,7 +101,7 @@ pyglove/core/symbolic/object_test.py,sha256=9-iwW3WVXfQnN4Jj2nlWFXAMJz3PEAYVlINg
|
|
101
101
|
pyglove/core/symbolic/origin.py,sha256=5bH1jZvFHY5jwku32vDm8Bj2i-buv-YNuzOOsA5GlSA,6177
|
102
102
|
pyglove/core/symbolic/origin_test.py,sha256=dU_ZGrGDetM_lYVMn3wQO0d367_t_t8eESe3NrKPBNE,3159
|
103
103
|
pyglove/core/symbolic/pure_symbolic.py,sha256=FVq-5Cg5uZe3ybTIrTqTHIEJIpje0oxzV2kKL6UKlsU,3244
|
104
|
-
pyglove/core/symbolic/ref.py,sha256=
|
104
|
+
pyglove/core/symbolic/ref.py,sha256=Edw6tnCvDSnZeMkHaX4U_kIiYyquWeOYTdVpQsIEkMw,7643
|
105
105
|
pyglove/core/symbolic/ref_test.py,sha256=KW6a-m7UwHcIAp94ku95ClMGQ9Tj3kX2cnx6EVNb1CI,8426
|
106
106
|
pyglove/core/symbolic/symbolize.py,sha256=ohID9-V8QiFe7OMpPlRomiqUnKBVMpypd8ZuMuHaa4s,6582
|
107
107
|
pyglove/core/symbolic/symbolize_test.py,sha256=o7bRfMhGc6uw2FIH8arE99-bPb3i0YixcHYyiP-QqeQ,6487
|
@@ -143,8 +143,8 @@ pyglove/core/views/base_test.py,sha256=_sFd2ynUgVoAF4aCv33Gg1m9WvMjl1pPXosOQExma
|
|
143
143
|
pyglove/core/views/html/__init__.py,sha256=FpwzhpomAkIjaOQh6mkIjaXC0KWHvGFIRCAQUAdxdC8,1029
|
144
144
|
pyglove/core/views/html/base.py,sha256=xOjCQj-l2kb82yXVr9RFpK7U3jwJNo8y7DJ35Qr_cAw,15463
|
145
145
|
pyglove/core/views/html/base_test.py,sha256=ZUAhwfjNTOusxLBJXfEvqRJL70QukzJ2j4bGyOb3tFA,22059
|
146
|
-
pyglove/core/views/html/tree_view.py,sha256=
|
147
|
-
pyglove/core/views/html/tree_view_test.py,sha256=
|
146
|
+
pyglove/core/views/html/tree_view.py,sha256=y_bWlgR0UhWSH83UIHbRKbO-vd8eNEWHfc-cDWDFa5Y,41041
|
147
|
+
pyglove/core/views/html/tree_view_test.py,sha256=4h_mtjuwBtaWgYDVh5WWuUV0l7WC_raKh2bJfugzbIE,47204
|
148
148
|
pyglove/ext/__init__.py,sha256=3jp8cJvKW6PENOZlmVAbT0w-GBRn_kjhc0wDX3XjpOE,755
|
149
149
|
pyglove/ext/early_stopping/__init__.py,sha256=_xkT3K_MycFuF3k2N74sfr9FPFcXMD3pfv5vuc4Tx5M,1116
|
150
150
|
pyglove/ext/early_stopping/base.py,sha256=KolexwKDAXhI9iY7hoaDO1mbc3TA4gDn0UifxURwbk0,2358
|
@@ -184,8 +184,8 @@ pyglove/ext/scalars/randoms.py,sha256=LkMIIx7lOq_lvJvVS3BrgWGuWl7Pi91-lA-O8x_gZs
|
|
184
184
|
pyglove/ext/scalars/randoms_test.py,sha256=nEhiqarg8l_5EOucp59CYrpO2uKxS1pe0hmBdZUzRNM,2000
|
185
185
|
pyglove/ext/scalars/step_wise.py,sha256=IDw3tuTpv0KVh7AN44W43zqm1-E0HWPUlytWOQC9w3Y,3789
|
186
186
|
pyglove/ext/scalars/step_wise_test.py,sha256=TL1vJ19xVx2t5HKuyIzGoogF7N3Rm8YhLE6JF7i0iy8,2540
|
187
|
-
pyglove-0.4.5.
|
188
|
-
pyglove-0.4.5.
|
189
|
-
pyglove-0.4.5.
|
190
|
-
pyglove-0.4.5.
|
191
|
-
pyglove-0.4.5.
|
187
|
+
pyglove-0.4.5.dev202410160809.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
188
|
+
pyglove-0.4.5.dev202410160809.dist-info/METADATA,sha256=HQllCHpuATBemqASRPzlPcRErpcI_XJSIsoccBID5lc,6666
|
189
|
+
pyglove-0.4.5.dev202410160809.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
190
|
+
pyglove-0.4.5.dev202410160809.dist-info/top_level.txt,sha256=wITzJSKcj8GZUkbq-MvUQnFadkiuAv_qv5qQMw0fIow,8
|
191
|
+
pyglove-0.4.5.dev202410160809.dist-info/RECORD,,
|
File without changes
|
File without changes
|
{pyglove-0.4.5.dev202410110105.dist-info → pyglove-0.4.5.dev202410160809.dist-info}/top_level.txt
RENAMED
File without changes
|