pyglove 0.4.5.dev202501050808__py3-none-any.whl → 0.4.5.dev202501060809__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.
Files changed (91) hide show
  1. pyglove/core/__init__.py +24 -21
  2. pyglove/core/geno/base.py +53 -38
  3. pyglove/core/geno/base_test.py +2 -4
  4. pyglove/core/geno/categorical.py +36 -27
  5. pyglove/core/geno/custom.py +18 -15
  6. pyglove/core/geno/numerical.py +19 -16
  7. pyglove/core/geno/space.py +3 -4
  8. pyglove/core/hyper/base.py +6 -6
  9. pyglove/core/hyper/categorical.py +91 -52
  10. pyglove/core/hyper/custom.py +7 -7
  11. pyglove/core/hyper/custom_test.py +9 -10
  12. pyglove/core/hyper/derived.py +30 -22
  13. pyglove/core/hyper/derived_test.py +2 -4
  14. pyglove/core/hyper/dynamic_evaluation.py +3 -4
  15. pyglove/core/hyper/evolvable.py +57 -46
  16. pyglove/core/hyper/numerical.py +48 -24
  17. pyglove/core/hyper/numerical_test.py +9 -9
  18. pyglove/core/hyper/object_template.py +58 -46
  19. pyglove/core/logging_test.py +0 -2
  20. pyglove/core/patching/object_factory.py +4 -4
  21. pyglove/core/patching/pattern_based.py +4 -4
  22. pyglove/core/patching/rule_based.py +4 -3
  23. pyglove/core/symbolic/base.py +167 -131
  24. pyglove/core/symbolic/base_test.py +17 -19
  25. pyglove/core/symbolic/boilerplate.py +4 -5
  26. pyglove/core/symbolic/class_wrapper.py +9 -9
  27. pyglove/core/symbolic/compounding.py +2 -2
  28. pyglove/core/symbolic/compounding_test.py +2 -4
  29. pyglove/core/symbolic/dict.py +70 -54
  30. pyglove/core/symbolic/dict_test.py +117 -100
  31. pyglove/core/symbolic/diff.py +12 -12
  32. pyglove/core/symbolic/flags.py +1 -1
  33. pyglove/core/symbolic/functor.py +16 -15
  34. pyglove/core/symbolic/functor_test.py +2 -4
  35. pyglove/core/symbolic/inferred.py +2 -2
  36. pyglove/core/symbolic/list.py +70 -47
  37. pyglove/core/symbolic/list_test.py +117 -98
  38. pyglove/core/symbolic/object.py +42 -40
  39. pyglove/core/symbolic/object_test.py +95 -88
  40. pyglove/core/symbolic/origin.py +5 -7
  41. pyglove/core/symbolic/pure_symbolic.py +4 -3
  42. pyglove/core/symbolic/ref.py +12 -8
  43. pyglove/core/tuning/local_backend.py +2 -2
  44. pyglove/core/tuning/protocols.py +3 -3
  45. pyglove/core/typing/annotation_conversion.py +3 -3
  46. pyglove/core/typing/callable_ext.py +11 -13
  47. pyglove/core/typing/callable_signature.py +19 -18
  48. pyglove/core/typing/callable_signature_test.py +3 -5
  49. pyglove/core/typing/class_schema.py +48 -44
  50. pyglove/core/typing/class_schema_test.py +3 -5
  51. pyglove/core/typing/custom_typing.py +5 -4
  52. pyglove/core/typing/key_specs.py +5 -7
  53. pyglove/core/typing/key_specs_test.py +4 -4
  54. pyglove/core/typing/type_conversion.py +4 -5
  55. pyglove/core/typing/type_conversion_test.py +12 -12
  56. pyglove/core/typing/typed_missing.py +6 -7
  57. pyglove/core/typing/typed_missing_test.py +7 -8
  58. pyglove/core/typing/value_specs.py +210 -141
  59. pyglove/core/typing/value_specs_test.py +12 -13
  60. pyglove/core/utils/__init__.py +159 -0
  61. pyglove/core/{object_utils → utils}/common_traits_test.py +1 -3
  62. pyglove/core/{object_utils → utils}/docstr_utils_test.py +1 -3
  63. pyglove/core/{object_utils → utils}/error_utils.py +3 -3
  64. pyglove/core/{object_utils → utils}/error_utils_test.py +1 -1
  65. pyglove/core/{object_utils → utils}/formatting.py +1 -1
  66. pyglove/core/{object_utils → utils}/formatting_test.py +1 -2
  67. pyglove/core/{object_utils → utils}/hierarchical.py +23 -25
  68. pyglove/core/{object_utils → utils}/hierarchical_test.py +3 -5
  69. pyglove/core/{object_utils → utils}/json_conversion_test.py +1 -3
  70. pyglove/core/{object_utils → utils}/missing.py +2 -2
  71. pyglove/core/{object_utils → utils}/missing_test.py +2 -4
  72. pyglove/core/{object_utils → utils}/thread_local_test.py +1 -3
  73. pyglove/core/{object_utils → utils}/timing.py +3 -3
  74. pyglove/core/{object_utils → utils}/timing_test.py +2 -3
  75. pyglove/core/{object_utils → utils}/value_location.py +2 -2
  76. pyglove/core/{object_utils → utils}/value_location_test.py +2 -4
  77. pyglove/core/views/base.py +25 -29
  78. pyglove/core/views/html/base.py +14 -15
  79. pyglove/core/views/html/controls/base.py +5 -5
  80. pyglove/core/views/html/controls/progress_bar.py +3 -5
  81. pyglove/core/views/html/tree_view.py +37 -35
  82. {pyglove-0.4.5.dev202501050808.dist-info → pyglove-0.4.5.dev202501060809.dist-info}/METADATA +1 -1
  83. {pyglove-0.4.5.dev202501050808.dist-info → pyglove-0.4.5.dev202501060809.dist-info}/RECORD +90 -90
  84. {pyglove-0.4.5.dev202501050808.dist-info → pyglove-0.4.5.dev202501060809.dist-info}/WHEEL +1 -1
  85. pyglove/core/object_utils/__init__.py +0 -161
  86. /pyglove/core/{object_utils → utils}/common_traits.py +0 -0
  87. /pyglove/core/{object_utils → utils}/docstr_utils.py +0 -0
  88. /pyglove/core/{object_utils → utils}/json_conversion.py +0 -0
  89. /pyglove/core/{object_utils → utils}/thread_local.py +0 -0
  90. {pyglove-0.4.5.dev202501050808.dist-info → pyglove-0.4.5.dev202501060809.dist-info}/LICENSE +0 -0
  91. {pyglove-0.4.5.dev202501050808.dist-info → pyglove-0.4.5.dev202501060809.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  pyglove/__init__.py,sha256=YPUWALRDu4QuI7N3TUmVaVr513hUt0qXrjY582I1q5c,1352
2
- pyglove/core/__init__.py,sha256=pEvIMPH7pu03Ir1rnLWCuWbriobwBTYACP22fMIg-8U,9368
2
+ pyglove/core/__init__.py,sha256=eT7QvwXj-ers44ufDvIuy3J2PAckk5b4EVGbRiX_E-M,9284
3
3
  pyglove/core/logging.py,sha256=Sr5nLyUQmc4CAEYAq8qbP3ghpjmpz2sOuhq2A0tgQ6I,2456
4
- pyglove/core/logging_test.py,sha256=QM59tCAFOUKm4gM6ef_9eG1AvSGEYRDLrrprUQyslcA,1956
4
+ pyglove/core/logging_test.py,sha256=3z_c6wnxbqDbwUmSOAZzeDPXvzoweYL5QHUQVMJ5Xgo,1917
5
5
  pyglove/core/coding/__init__.py,sha256=nVKjJQYhvzJNr1zj0GuCsz_ltGLqhQEtBQj0zPiOkqA,998
6
6
  pyglove/core/coding/function_generation.py,sha256=2fCqcdcizVYtGYE6QGpw5m1kuH9Fp0OF4BjyJ4en6tw,1636
7
7
  pyglove/core/coding/function_generation_test.py,sha256=kbSwmZF8Vog0R0OTSpuzPblEbMLoRJ1TigeIrwDhHS8,2161
@@ -9,102 +9,81 @@ pyglove/core/detouring/__init__.py,sha256=ck_n2VSuU31HNVYQkbG4Zvnx90mNYtSVc2StN3
9
9
  pyglove/core/detouring/class_detour.py,sha256=ejuUr7UfRU3l9PrDxD0dpKmt2iqdDU6liHdebA1jEfQ,13312
10
10
  pyglove/core/detouring/class_detour_test.py,sha256=9aAK6qPiT0_HJe5oUpqMVTpoHv0wr_h6c4gWYKMTJoM,5507
11
11
  pyglove/core/geno/__init__.py,sha256=cWA583n7JpsGUkGtoTlMMX83tNS7geRBKFsoPEvFZ4A,4767
12
- pyglove/core/geno/base.py,sha256=iTO_EaQtQkZvm99X3g_lj-MyzKGxmFS1VhDRCsMDU20,64527
13
- pyglove/core/geno/base_test.py,sha256=ytYVK1RhnlZYqYEP9Clfh48vV_RgU-UJB-wbCRmyy_U,38561
14
- pyglove/core/geno/categorical.py,sha256=QXxE3iyfFfIU3qbfDQbt4GCiE4ONF6v-IL7k5SPHO7g,28073
12
+ pyglove/core/geno/base.py,sha256=4CjZ1j-LGd6q2qootGcLMVuX8nTDxH0LvA1KVSI9qbE,64498
13
+ pyglove/core/geno/base_test.py,sha256=f0pMpfXsjAqFOBtlOxof3jRX0jLvXpzowk9szcr6bgY,38512
14
+ pyglove/core/geno/categorical.py,sha256=t1bS129D5iF4CZ0yVHaFDXy2T6ujv5F5HHDc_0X36z8,28015
15
15
  pyglove/core/geno/categorical_test.py,sha256=23UkOPhDSvonxxM_1YoBYp723Xim-BmBzywl612CRyg,18444
16
- pyglove/core/geno/custom.py,sha256=rdjZs82pqWP-HrJYnfd8JFqEPJ3z_g_7mXxoBP6PWP0,7086
16
+ pyglove/core/geno/custom.py,sha256=U4_fdTBmHUTZp3uyNI8Kz4kPKj7X0EJ9d55T376p4Vk,7044
17
17
  pyglove/core/geno/custom_test.py,sha256=kjHcKRYA-Uaw6AUnOMhVjBs9is37mUS8X3VdZHXxr0k,5938
18
18
  pyglove/core/geno/deduping.py,sha256=SmfrY8uz4zUuKInaWSKIB0vm_6CVWgqrfhiwragxM7I,5205
19
19
  pyglove/core/geno/deduping_test.py,sha256=zP9XGbfw4tmHgBMv8xP2EMZ2-AJc2UomAP_Ud1aSr-c,4583
20
20
  pyglove/core/geno/dna_generator.py,sha256=BwHnjdbVPP_ic04481dhm2pCcFoRmH8PB1o884W8aUs,8959
21
21
  pyglove/core/geno/dna_generator_test.py,sha256=vdQ7H8Zg7pvhjJyUbUaK6z8JIB8QeJ5puzo03FN6kwA,4731
22
- pyglove/core/geno/numerical.py,sha256=t2p1MNIJZbJP9IP4EDWrL06nA5UhICZJVxiF0Eo87Bw,8249
22
+ pyglove/core/geno/numerical.py,sha256=AKevY8HALo2Tu4qEjuuRhhv-l1vFS_b4jre2MZQ3odg,8237
23
23
  pyglove/core/geno/numerical_test.py,sha256=zkJocfknUZsXL9LwkY4zdVVqO7FbEeCZgohRzlLxET0,5796
24
24
  pyglove/core/geno/random.py,sha256=xs03iphDBO9f2FJJkbsRj6piky12g17v-i1drlWODu4,2619
25
25
  pyglove/core/geno/random_test.py,sha256=0Ctnm86w3nDcd7QL_XRdqJKrcTl46NpgRQ7TSzPY8ac,4941
26
- pyglove/core/geno/space.py,sha256=eiEbUr1UpdFC8YcmrEMArVx2604tGowI8dznWdp1rCk,9334
26
+ pyglove/core/geno/space.py,sha256=CWhGr-tomZystiLtxCfDbJ9sFrIN6LhkfgdAs1PRHpk,9315
27
27
  pyglove/core/geno/space_test.py,sha256=zpCUbe98Qy0rUM1TZIOG6sKQM_2-cglz9UPVIYcPQuk,16554
28
28
  pyglove/core/geno/sweeping.py,sha256=VcvEm-IQ5DVUhDUBBXF2w-hcjLc5FJ8_OjItO0TbHuw,1322
29
29
  pyglove/core/geno/sweeping_test.py,sha256=Ex3LlH-RyM1aPSbhrtEmkQAScUkL1GWyZGUKxrEAeE8,2709
30
30
  pyglove/core/hyper/__init__.py,sha256=igGe4vYAXbdpwjuRCRijfwQBLYLFJk4LPKWlcpg3HhM,5020
31
- pyglove/core/hyper/base.py,sha256=UmD-4-vvMvO5CC7vvKlbKyxpW7kURDi6_KNQrXKo0SA,7069
32
- pyglove/core/hyper/categorical.py,sha256=HC5aeSy5IBsweB6TcN8Y8a6YVXQpnzsR4KKcojIeke4,23224
31
+ pyglove/core/hyper/base.py,sha256=kYuvUq33CbLMsNVC7uGZ8IHa1h2yYa1KSol9ktisEgg,7029
32
+ pyglove/core/hyper/categorical.py,sha256=6BpObEaaCKrQsvih3CkdN7ZwK0bj1hMUBLnum8r1kAc,23385
33
33
  pyglove/core/hyper/categorical_test.py,sha256=Gg41Jubi_1lOhwrXbCiBmXFdYcmZmPpA_X4MqItOOa4,13533
34
- pyglove/core/hyper/custom.py,sha256=6GXtQTkyhX6Sql4J6IGTN8U3SQe6IfLixSpYsc4Lkpk,5750
35
- pyglove/core/hyper/custom_test.py,sha256=7pjHi9XAg45fkrZPxDNJrYcp9y82odJQ4mSUIwzDfzo,3556
36
- pyglove/core/hyper/derived.py,sha256=XJ9UJ3lBSu21yyc6k4PUQsFKi9zP6o-Z0mCC_yP6i0s,6130
37
- pyglove/core/hyper/derived_test.py,sha256=pLkBjZYfSVuts4A_essMdSIWcQfIp4-d2lYCMb0wHwE,4283
38
- pyglove/core/hyper/dynamic_evaluation.py,sha256=VfQNJe2cmZYz3rIPZ-dejxYMVVsIFhYaD_PRPN9RvTM,22875
34
+ pyglove/core/hyper/custom.py,sha256=eMWVCq8d0m2tXkwlazGNQ9q_Bi_gbtIotVX4t6Cr_r4,5719
35
+ pyglove/core/hyper/custom_test.py,sha256=4ayyNCiY9T34h_Nfr5ZL6psUtgvuJv9i_ubmkOs796I,3522
36
+ pyglove/core/hyper/derived.py,sha256=IW2QjPR0m0oMb_Ij8lbJ1qLwI2j_wBYKrgQC6TuAEo4,6066
37
+ pyglove/core/hyper/derived_test.py,sha256=s47HRGbUe-bkL-lMpTRRSfXReu11LGx0NsUmxGvzxS0,4222
38
+ pyglove/core/hyper/dynamic_evaluation.py,sha256=ixuqeis6WGL276nWTCZktv7EWHWqzG4H1iy3xtAT6js,22853
39
39
  pyglove/core/hyper/dynamic_evaluation_test.py,sha256=87Xc3Ci8mMWFiV4PGG7ZT8B6TqhTJH8tUMTWMYkyKzU,17149
40
- pyglove/core/hyper/evolvable.py,sha256=k2Q5KjJ3t8ub0pLoopJYKYUxJn3nJlHkL1eHDJ1ZSf4,10245
40
+ pyglove/core/hyper/evolvable.py,sha256=AH59oETvS8ox7xmTYOEMiSX-NxbUFrMXUvkx7cdSxCs,10156
41
41
  pyglove/core/hyper/evolvable_test.py,sha256=TYDDr69ykdmqzRFo4McxVzwOV_tU4j_WVZu-_6X3M8Q,7914
42
42
  pyglove/core/hyper/iter.py,sha256=cCRirBBqw-cYCavLU463hch-anh4aXjqzACZ_9cUw-Y,6921
43
43
  pyglove/core/hyper/iter_test.py,sha256=KQ75ZdRDg8LCBHsVzNMPeZ67ArTNqWajUrcQIgolun8,3906
44
- pyglove/core/hyper/numerical.py,sha256=ifOdw4G9xukeELEiB8__zsR0X6O06_k9isq0i6YZwpI,8206
45
- pyglove/core/hyper/numerical_test.py,sha256=_xZe0qe3wJdrQL4F8pgt0zf04zpbc_9c_5va3mdd5_8,4259
46
- pyglove/core/hyper/object_template.py,sha256=x6aBe-6ueo3CsFJ2yhbXbcdJKfId6wm_KsgkHHbpSoY,22325
44
+ pyglove/core/hyper/numerical.py,sha256=1zBTEXuLeKfrcZHkRMJpYE6RSBGA6KLQ29tkzUNC05U,8371
45
+ pyglove/core/hyper/numerical_test.py,sha256=UWdH55Bok7bghYDLJOGsgOwV_2LNkhj1AmFwNYeJRY8,4232
46
+ pyglove/core/hyper/object_template.py,sha256=YPALTV0mMULa7iuqnryTpA2wMsdyFZ_6g-R525asAr8,22222
47
47
  pyglove/core/hyper/object_template_test.py,sha256=TEFX7LIqUvdCdJILnK_gP5xIgNJKzRnioUF0CGVBzcY,9105
48
48
  pyglove/core/io/__init__.py,sha256=4ZT1a595DqQuLTNYc2JP_eCp_KesXvHmKRkr777bzpg,785
49
49
  pyglove/core/io/file_system.py,sha256=ps5SVckgFsrZk4xCu37iXkeIrvydLzLs9NsF14VzEcM,13390
50
50
  pyglove/core/io/file_system_test.py,sha256=FX0ySuh_Xcg1RO68do7ikD4pvslKUzfSpwZ6P4wIP7c,8691
51
51
  pyglove/core/io/sequence.py,sha256=7QWMGXPtJzHyGPgqkT3yJ01FxKJ4mP4lF5HRDiIHNbQ,8165
52
52
  pyglove/core/io/sequence_test.py,sha256=6tmnS7frBuDR8ussT5jugeh23TDsPDrDnbfxHh81Gy4,3891
53
- pyglove/core/object_utils/__init__.py,sha256=i-WXhMKZWV2yC2u7TpzhIT9XraTdx8BzT5pqdfaK_yc,8669
54
- pyglove/core/object_utils/common_traits.py,sha256=PWxOgPhG5H60ZwfO8xNAEGRjFUqqDZQBWQYomOfvdy8,3640
55
- pyglove/core/object_utils/common_traits_test.py,sha256=wIeVsF3kon9K0Kbblcaib9hBJeZ76LyGZDD-5A1BD9w,1182
56
- pyglove/core/object_utils/docstr_utils.py,sha256=5BY40kXozPKVGOB0eN8jy1P5_GHIzqFJ9FXAu_kzxaw,5119
57
- pyglove/core/object_utils/docstr_utils_test.py,sha256=1NIsXXpp87HGC8LB7vx1KEMVVrmeGi733Xpuf6yTUq0,4287
58
- pyglove/core/object_utils/error_utils.py,sha256=5mcD61La1tTYmmKodsWfnt8R-yV3yfBfbW4o5rZzCTg,5801
59
- pyglove/core/object_utils/error_utils_test.py,sha256=rnX4HYsZaMphWPm4ppgzCQ49LAXfJJ9KDTiDz4f9Ahc,4171
60
- pyglove/core/object_utils/formatting.py,sha256=cXGWJd6zleS9QiEfY3w4fqWfFYgi_QF8S2IapTOzAj8,14994
61
- pyglove/core/object_utils/formatting_test.py,sha256=QGbpUS8u70NoF8-3v5IYmPWEsML3ZbIwkQpUMwQdTkQ,13589
62
- pyglove/core/object_utils/hierarchical.py,sha256=za9sA6XnlUOKUHMKNwQPNSOK9E3wDqXFQB0AND2Yghw,19754
63
- pyglove/core/object_utils/hierarchical_test.py,sha256=H7AMpUmL8g9AeKsb4T8JrP1eXOleyLSsrw6TGUvEDB4,21150
64
- pyglove/core/object_utils/json_conversion.py,sha256=I0mWn87aAEdaAok9nDvT0ZrmplU40eNmEDUAaNIzZXk,26590
65
- pyglove/core/object_utils/json_conversion_test.py,sha256=KGt0r628KHi4fTfeCgrhirfINpYXIR45l5ER4z09jjI,11907
66
- pyglove/core/object_utils/missing.py,sha256=0liMs9iEyQxxu6UohdJ5hEM246e9Nu05qp0hqriHsl0,1459
67
- pyglove/core/object_utils/missing_test.py,sha256=B36p-vqUvAnXWMszAj9GOPBN0_8cq7vVF61AkcsZ9qU,1396
68
- pyglove/core/object_utils/thread_local.py,sha256=i-CnyY3VREtLfAj4_JndBnsKuQLIgwG29ma8dAyRxbI,4839
69
- pyglove/core/object_utils/thread_local_test.py,sha256=EvU1-TF7KqpLQxxBvHd7dxtuY22YUQSIwQ0UcR-NORA,6816
70
- pyglove/core/object_utils/timing.py,sha256=ihOdcZaJo96wpe4U-bXEu-H1PZMWeWOaU-nSW9DFStY,7262
71
- pyglove/core/object_utils/timing_test.py,sha256=jym-jV55kRujhgoxmDUUIXuqRLDnBGYiNKN3lUMbnfg,4943
72
- pyglove/core/object_utils/value_location.py,sha256=lSFQNTazY2M6_nRLmMbouqZAcZSiOLZQnmQPMD2FDMs,26770
73
- pyglove/core/object_utils/value_location_test.py,sha256=wCZYqWf_tq3l4ZM6dnkAs1obmq8LfYawkns2NKos9kk,21406
74
53
  pyglove/core/patching/__init__.py,sha256=C1Q1cWPV74YL3eXbzGvc-8aPw1DR8EK6lRhQYDCwHek,2059
75
- pyglove/core/patching/object_factory.py,sha256=djQ1BGHsFHt22WaA0XgWUHPOhU0Nx49RaxZEFMcb5P4,3377
54
+ pyglove/core/patching/object_factory.py,sha256=fsiqFET9LWQV4xZXJrPFu3j5IRovSi_zrJba7KiYGZ0,3368
76
55
  pyglove/core/patching/object_factory_test.py,sha256=UXWVxrlgtsKm9Q-CnzJMcKKeFvFi9qQ1GG4RgWt0S8o,3973
77
- pyglove/core/patching/pattern_based.py,sha256=g56J19s6uTsaX5mHt--TnGifUQCjYjWpLXwA92ajVU8,7872
56
+ pyglove/core/patching/pattern_based.py,sha256=UtSNB-ARNqVjXwZovjVi84QEoXUGLLBTgLgjq2rNg3w,7851
78
57
  pyglove/core/patching/pattern_based_test.py,sha256=PW1EcVfsFPB6wtgwg3s4dzvigWn3b5S8eMNGo0SJiZ0,2771
79
- pyglove/core/patching/rule_based.py,sha256=QJsDsYVpyfUoaTZeXZtAdFuxpvB1eniY0qYdZvVqzk0,17056
58
+ pyglove/core/patching/rule_based.py,sha256=JAQp8mWeIOxwIdqusA3GmXia-fxQhQsxbUTmE329wF8,17038
80
59
  pyglove/core/patching/rule_based_test.py,sha256=qfy0ILmczV_LMHWEnwo2y079OrJsGYO0nKxSZdmIUcI,18782
81
60
  pyglove/core/symbolic/__init__.py,sha256=jYq-LwR1Ql3iMChjz9lN-0heDKiocmxR0ZJFEJ8RHHQ,5787
82
- pyglove/core/symbolic/base.py,sha256=BMPjNR00mSg-KEVe1CXpJi4Keme2SVhpxinNtF24DE8,78194
83
- pyglove/core/symbolic/base_test.py,sha256=YLMlQGF4TbxAB2PcN1-ckI70gRIVDxabv-goh43CV7A,7333
84
- pyglove/core/symbolic/boilerplate.py,sha256=YO8ZTZJ3VfAqeHqJpIY_ORVDxc1XIzxdplNlpexWEyc,6000
61
+ pyglove/core/symbolic/base.py,sha256=aSZPSk7v3Niv6D1HfL_JEEXfI-U1cQnTxJxY9wXem54,77627
62
+ pyglove/core/symbolic/base_test.py,sha256=yASIHIuWiUB1jf4nN-Y4XOjyvr8eQfRpr7s_1LZsu78,7188
63
+ pyglove/core/symbolic/boilerplate.py,sha256=sQ3G25r5bo_UmIdjreL4jkAuQCXIHVlvUfGjjkNod6Y,5955
85
64
  pyglove/core/symbolic/boilerplate_test.py,sha256=1CZ1W6kq3l-3tpaknhGFa04V18bO7vPzis5qzWnxHEs,5252
86
- pyglove/core/symbolic/class_wrapper.py,sha256=-99foaMo3pD4JhIW_VblJsQtXxoiGapqfENZjfZosxU,22932
65
+ pyglove/core/symbolic/class_wrapper.py,sha256=xQiMh5vFlOQ76tbqsF5UWEghvU4d9UmvbNqIyBccNHg,22869
87
66
  pyglove/core/symbolic/class_wrapper_test.py,sha256=GPgeLefIPj9hiD0ib6z2LyOm6A3O2f4-JHpE7dgfsNM,21644
88
- pyglove/core/symbolic/compounding.py,sha256=zg6x09rtaSEb5v5pYJWWWpI5Cezy2Oy1iuWw4LUj2HY,11717
89
- pyglove/core/symbolic/compounding_test.py,sha256=PSnk_ds0q6pRJrpN9teMwZtMrbUp5_P-D7ea7wRTK6k,8372
90
- pyglove/core/symbolic/dict.py,sha256=ZRamH_6ssuYA2kDwvXCbyyihIrq4xwinQli3DD2FI3M,37213
91
- pyglove/core/symbolic/dict_test.py,sha256=-NnMqeeQE8q4zCEWCoSz18ytmkVzUq7015ev0Hmi89o,72427
92
- pyglove/core/symbolic/diff.py,sha256=UFjC6GnH_yzutuJHSao-di9qVeWL1amBYUJrEKmol3U,16351
67
+ pyglove/core/symbolic/compounding.py,sha256=gvOodZ2gWHA0jNdwt8yvnRsPkHQDXDb5s88Uwp6DAqs,11703
68
+ pyglove/core/symbolic/compounding_test.py,sha256=hOzrIROvajUTtPm0SUbEsEV4C1bXanhAoHinHrjZoXw,8320
69
+ pyglove/core/symbolic/dict.py,sha256=7IxKSjUsGulUcNk3xqQnJ2ubGNUbqcc0ZFe8cKiigKA,36931
70
+ pyglove/core/symbolic/dict_test.py,sha256=3MATsFw9Ci0jVPbAT2ivKVZ3PCnBBBvbkMWKgpgl-Fk,72915
71
+ pyglove/core/symbolic/diff.py,sha256=zHfED0Bbq8G_HWNPj3vrOCWzt_062rFhx3BMlpCb9oo,16282
93
72
  pyglove/core/symbolic/diff_test.py,sha256=EDiGHqqKhi-NeMxr-bgjBEqlquee_4l_0IM6hgAb9Mg,29400
94
- pyglove/core/symbolic/flags.py,sha256=GAF_QrthtDytO3DP61AgxWUgjBc89nnI4TJS4nZ_ng0,12097
73
+ pyglove/core/symbolic/flags.py,sha256=a_8VZEhJjkt-zk1v3jCjlfNe7vEG2FqFfAC4l-gKrzg,12090
95
74
  pyglove/core/symbolic/flags_test.py,sha256=JDJcm6dYTlnktFsdNFjQszmHXf9bZnhrXMxi_jUiKUA,5483
96
- pyglove/core/symbolic/functor.py,sha256=YGhSgsll2dKIc8JeVMVRzzhIliEO025XaGPzHzv0BZg,26803
97
- pyglove/core/symbolic/functor_test.py,sha256=7ZKPmJkDj-zvlDJyp1EKLJ8HDmvlhsiVFky0sbeCqpA,31846
98
- pyglove/core/symbolic/inferred.py,sha256=jGCKXLkYGDs-iUflR57UWrCrOQIpkpv5kHVyj-Jbhy4,3192
75
+ pyglove/core/symbolic/functor.py,sha256=6g1eBZSfSB6lp5NSXtAMw--xRhAfkYipSJh2LCVPNTM,26723
76
+ pyglove/core/symbolic/functor_test.py,sha256=9c5_7OBKNVNbYC7IaVQB6c5ks2v00qQ36oivyWiBbKA,31798
77
+ pyglove/core/symbolic/inferred.py,sha256=E4zgphg6NNZad9Fl3jdHQOMZeqEp9XHq5OUYqXEmwZQ,3178
99
78
  pyglove/core/symbolic/inferred_test.py,sha256=G6uPykONcChvs6vZujXHSWaYfjewLTVBscMqzzKNty0,1270
100
- pyglove/core/symbolic/list.py,sha256=63v4Ph0FdkoCDj1FjwcmjUHGZSJLBLxaTKcGg7PdghE,30345
101
- pyglove/core/symbolic/list_test.py,sha256=yHYAJhe_EYwtU9p8eDztSXNBjnAGKe0UDN5U6S-xDr8,60627
102
- pyglove/core/symbolic/object.py,sha256=cf9GELfLEZSESxQU9BlA06yTtv2XWsnwXgONjkfOzNo,42163
103
- pyglove/core/symbolic/object_test.py,sha256=WNp8lB202EMn7RDJbMAV_VVdtjg9MB3HKTgaJN8GTuw,93617
104
- pyglove/core/symbolic/origin.py,sha256=5bH1jZvFHY5jwku32vDm8Bj2i-buv-YNuzOOsA5GlSA,6177
79
+ pyglove/core/symbolic/list.py,sha256=z8goU0ntd-Q5ADaCGiKsJwPhdRdQb0Kd_p-ZekXaLy4,30303
80
+ pyglove/core/symbolic/list_test.py,sha256=IAyFQ48nyczKUcPNZFKHBkX5oh7Xuxbnv3rRkONhbHw,61146
81
+ pyglove/core/symbolic/object.py,sha256=6K-O46PziUNx4pABQ9SD9zrFvxjZXdvuRZbgLqwMkMg,41942
82
+ pyglove/core/symbolic/object_test.py,sha256=Uf07CHSIBDETleIwIHxRDVyAH9tIzIfM5UPQkDC1sC0,93407
83
+ pyglove/core/symbolic/origin.py,sha256=OSWMKjvPcISOXrzuX3lCQC8m_qaGl-9INsIB81erUnU,6124
105
84
  pyglove/core/symbolic/origin_test.py,sha256=dU_ZGrGDetM_lYVMn3wQO0d367_t_t8eESe3NrKPBNE,3159
106
- pyglove/core/symbolic/pure_symbolic.py,sha256=FVq-5Cg5uZe3ybTIrTqTHIEJIpje0oxzV2kKL6UKlsU,3244
107
- pyglove/core/symbolic/ref.py,sha256=4RQcdgP4WBW1HnHeeOriZHL37PCArjUrx6o48Ve-Ilc,8522
85
+ pyglove/core/symbolic/pure_symbolic.py,sha256=pvo15gn35_KLiGW_XrTjlx5ddmHbwpLr93VgbQ59uQ8,3231
86
+ pyglove/core/symbolic/ref.py,sha256=qRN-0xm9pWlszel5qE-HAhQCkgB0umi_pDlzDhBWPUA,8513
108
87
  pyglove/core/symbolic/ref_test.py,sha256=0687hClfR5G5_VKuRlwjJGVQ2MC74ADFWklDaZ3aEVI,6294
109
88
  pyglove/core/symbolic/symbolize.py,sha256=ohID9-V8QiFe7OMpPlRomiqUnKBVMpypd8ZuMuHaa4s,6582
110
89
  pyglove/core/symbolic/symbolize_test.py,sha256=o7bRfMhGc6uw2FIH8arE99-bPb3i0YixcHYyiP-QqeQ,6487
@@ -112,47 +91,68 @@ pyglove/core/tuning/__init__.py,sha256=JtXpjsBto01fLf55hZ1dSx-CEZUyVQeyRP9AMH_hw
112
91
  pyglove/core/tuning/backend.py,sha256=GwbBI9nHYYe5h6iDuhqRtD-Msjmmc7wFtagxW0rTypU,5597
113
92
  pyglove/core/tuning/backend_test.py,sha256=vyfUi509-hbF5uYk-I0FsoniPFBXmobQVl-4d0YPIWY,1999
114
93
  pyglove/core/tuning/early_stopping.py,sha256=v7pI2Jv6KfYJoNVmcQsRv3HUbH0b-lrs3wduED8Y7kk,2179
115
- pyglove/core/tuning/local_backend.py,sha256=p_zQWvWLXGV6XqxiJzL4dLwSFHKGOyxl702wfCHokP8,13832
116
- pyglove/core/tuning/protocols.py,sha256=SXWiRJXvdJXF0zYwrZv4s1v-4Ng2Uz5YbOCGuDYsOD8,16865
94
+ pyglove/core/tuning/local_backend.py,sha256=1Aflwu4PDpQltAvAoXvAeLYrh3Ormd5yJAk8kkb8uAU,13818
95
+ pyglove/core/tuning/protocols.py,sha256=10Iukt1rqh05caURTZffSsb3CcHo7epBQnNtnyMyziE,16844
117
96
  pyglove/core/tuning/protocols_test.py,sha256=Cbzvz3EacaW2sbm1rTSQXEt_VucMoQbeQ6AeN-GV5Vc,1883
118
97
  pyglove/core/tuning/sample.py,sha256=UzsCY8kiqnzH_mR94zLXhOloyvvEwfmBWluBjmefUFA,12975
119
98
  pyglove/core/tuning/sample_test.py,sha256=JqwDPy3EPC_VjU9dipk90jj1kovZB3Zb9hAjAlZ-U1U,17551
120
99
  pyglove/core/typing/__init__.py,sha256=Z_jnwUvDQ3wA16a5TiuWbuof9hW0Xm6YoTNwgG4QGqI,14395
121
100
  pyglove/core/typing/annotated.py,sha256=llaajIDj9GK-4kUGJoO4JsHU6ESPOra2SZ-jG6xmsOQ,3203
122
101
  pyglove/core/typing/annotated_test.py,sha256=p1qid3R-jeiOTTxOVq6hXW8XFvn-h1cUzJWISPst2l8,2484
123
- pyglove/core/typing/annotation_conversion.py,sha256=rNYOyC0ury-kiDpxRqABz-E3ll7ryq9MwLBE0vzDxyw,9028
102
+ pyglove/core/typing/annotation_conversion.py,sha256=OhBQRCaSh7zJKfb_IQKF7sD32E_YNTekz00qZaSIVnw,9007
124
103
  pyglove/core/typing/annotation_conversion_test.py,sha256=tZheqbLWbr76WBIDOplLtY3yznMc4m9u7KCznWEJdEs,11660
125
- pyglove/core/typing/callable_ext.py,sha256=1OM770LhT46qjhriKEgyDHp6whAGG0inobPbFUM2J8k,9218
104
+ pyglove/core/typing/callable_ext.py,sha256=PiBQWPeUAH7Lgmf2xKCZqgK7N0OSrTdbnEkV8Ph31OA,9127
126
105
  pyglove/core/typing/callable_ext_test.py,sha256=TnWKU4_ZjvpbHZFtFHgFvCMDiCos8VmLlODcM_7Xg8M,10156
127
- pyglove/core/typing/callable_signature.py,sha256=35cYIWMUR0Qr8gkbsx1kf_HcWxNPiwDvV3oQMULsbDs,27272
128
- pyglove/core/typing/callable_signature_test.py,sha256=BYdn0i7nd0ITkACnR1RNtnmpXiE0MfpBrlQ7-yWSxYE,25223
129
- pyglove/core/typing/class_schema.py,sha256=ls_pg4MgwvV4s5gLnsjqDkiP3O2Fg0sWdjL1NVD-iyE,53273
130
- pyglove/core/typing/class_schema_test.py,sha256=1DvJTss20jzjruTnB4CuW6ozO6Hcs6TIN-xsJzEQkCM,29244
131
- pyglove/core/typing/custom_typing.py,sha256=w5gdx7JbHmAJfrUKLvonW9rI2gpCwMJo2wdF4yqarLI,2218
106
+ pyglove/core/typing/callable_signature.py,sha256=DRpt7aShfkn8pb3SCiZzS_27eHbkQ_d2UB8BUhJjs0Q,27176
107
+ pyglove/core/typing/callable_signature_test.py,sha256=iQmHsKPhJPQlMikDhEyxKyq7yWyXI9juKCLYgKhrH3U,25145
108
+ pyglove/core/typing/class_schema.py,sha256=oSnfKIYKddIRETYj_gW_ZHjs9cI6WvTXJZrcQRfwgwU,53001
109
+ pyglove/core/typing/class_schema_test.py,sha256=byMj-8qfnPQJ3lm4A6Kcwez80u68-W0TyLEw2ILenLE,29172
110
+ pyglove/core/typing/custom_typing.py,sha256=qdnIKHWNt5kZAAFdpQXra8bBu6RljMbbJ_YDG2mhAUA,2205
132
111
  pyglove/core/typing/inspect.py,sha256=Tp2rYqRvMFvL0NzkJo4p04_hQSF__Eip8RduhEaSFfE,7046
133
112
  pyglove/core/typing/inspect_test.py,sha256=vJ-MZvSPjzzA7sDY6XIeMeX_aob_6VjGQcIIn_MJl64,8826
134
- pyglove/core/typing/key_specs.py,sha256=w_d21_i37eZj472gqcVQAvWY5V2jokJ71xVPXqReti8,9267
135
- pyglove/core/typing/key_specs_test.py,sha256=R-X0dvLSl4NMfcP9xvRNwxL5Yd5ZDxrLqBdUOtmM0js,6534
113
+ pyglove/core/typing/key_specs.py,sha256=-7xjCuUGoQgD0sMafsRFNlw3S4f1r-7t5OO4ev5bbeI,9225
114
+ pyglove/core/typing/key_specs_test.py,sha256=5zornpyHMAYoRaG8KDXHiQ3obu9UfRp3399lBeUNTPk,6499
136
115
  pyglove/core/typing/pytype_support.py,sha256=lyX11WVbCwoOi5tTQ90pEOS-yvo_6iEi7Lxbp-nXu2A,2069
137
- pyglove/core/typing/type_conversion.py,sha256=mOkp2LP2O9C5k8Q6r-CFwk9P_-oy4u26DIjDo81EGQU,5223
138
- pyglove/core/typing/type_conversion_test.py,sha256=AH7HTOfWcF7cpWi49EG6UmB_xfCsdz7HS1U0Bg8o-PI,5295
139
- pyglove/core/typing/typed_missing.py,sha256=5lzkrd-DqJDT8eoW1d8p6mxV3mvy5X78zFon7qEqPIA,2784
140
- pyglove/core/typing/typed_missing_test.py,sha256=3k_s0JBYBJ_6xoOuPSMrQzqas6QHD0PHux0T9NlTBZc,2381
141
- pyglove/core/typing/value_specs.py,sha256=D59ZB8L4HALtljzVkiLG9R2Uxg3bViDyc9Ebsr1fBH8,102276
142
- pyglove/core/typing/value_specs_test.py,sha256=XY_txldanc5lycz0WgDhtn2XcO3nFo_ymlKLjgN18Mg,127258
116
+ pyglove/core/typing/type_conversion.py,sha256=6diZrxNsvSyTLLNdoCqcWatWmhh7kZOiKCesyg-nEYQ,5167
117
+ pyglove/core/typing/type_conversion_test.py,sha256=qwNeotCb96vdUELVtA-0Ee19Jm4yOnPZuSIz5nyEbGo,5203
118
+ pyglove/core/typing/typed_missing.py,sha256=-l1omAu0jBZv5BnsFYXBqfvQwVBnmPh_X1wcIKD9bOk,2734
119
+ pyglove/core/typing/typed_missing_test.py,sha256=TCNsb1SRpFaVdxYn2mB_yaLuja8w5Qn5NP7uGiZVBWs,2301
120
+ pyglove/core/typing/value_specs.py,sha256=Yxdrz4aURMBrtqUW4to-2Vptc6Z6oqQrLyMBiAZt2bc,102302
121
+ pyglove/core/typing/value_specs_test.py,sha256=MsScWDRaN_8pfRDO9MCp9HdUHVm_8wHWyKorWVSnhE4,127165
122
+ pyglove/core/utils/__init__.py,sha256=hQqQ0B7YWhwG09sGG5wtLyKMKs2g3P2NDCaxsC7JpSY,8012
123
+ pyglove/core/utils/common_traits.py,sha256=PWxOgPhG5H60ZwfO8xNAEGRjFUqqDZQBWQYomOfvdy8,3640
124
+ pyglove/core/utils/common_traits_test.py,sha256=DIuZB_1xfmeTVfWnGOguDQcDAM_iGgBOe8C-5CsIqBc,1122
125
+ pyglove/core/utils/docstr_utils.py,sha256=5BY40kXozPKVGOB0eN8jy1P5_GHIzqFJ9FXAu_kzxaw,5119
126
+ pyglove/core/utils/docstr_utils_test.py,sha256=i33VT6zHXEuIIJ4PPg1bVSfaYSnUsC8yST_NfpT-Uds,4228
127
+ pyglove/core/utils/error_utils.py,sha256=ACIqtq4hsWrV00Gxd1OyeHCI-obGBR6J3H9VI1Y9clM,5780
128
+ pyglove/core/utils/error_utils_test.py,sha256=zwTzmyJupIW8GeF3Z-gnpVNdhdTYwzmO0ClODqbR4bU,4164
129
+ pyglove/core/utils/formatting.py,sha256=qa5XEGRwKEEqEKtyEYZNdsKBxIQFGBTofFW29aQT8hU,14987
130
+ pyglove/core/utils/formatting_test.py,sha256=OQboyCwhgvhw4EcCj1q-O53XG404c0XMK51rCl2_q2M,13533
131
+ pyglove/core/utils/hierarchical.py,sha256=jwB-0FhqOspAymAkvJphRhPTQEsoShmKupCZpU3Vip4,19690
132
+ pyglove/core/utils/hierarchical_test.py,sha256=f382DMJPa_bavJGGQDjuw-hWcafUg5bkQCPX-nbzeiI,21077
133
+ pyglove/core/utils/json_conversion.py,sha256=I0mWn87aAEdaAok9nDvT0ZrmplU40eNmEDUAaNIzZXk,26590
134
+ pyglove/core/utils/json_conversion_test.py,sha256=zA_cy7ixVL3sTf6i9BCXMlSH56Aa3JnjHnjyqYJ_9XU,11845
135
+ pyglove/core/utils/missing.py,sha256=9gslt1lXd1qSEIuAFxUWu30oD-YdYcnm13eau1S9uqY,1445
136
+ pyglove/core/utils/missing_test.py,sha256=D6-FuVEwCyJemUiPLcwLmwyptqI5Bx0Pfipc2juhKSE,1335
137
+ pyglove/core/utils/thread_local.py,sha256=i-CnyY3VREtLfAj4_JndBnsKuQLIgwG29ma8dAyRxbI,4839
138
+ pyglove/core/utils/thread_local_test.py,sha256=AOqsdNsA-cYMvJckqxb25ql3Y5kDW0qLfBW1cl85Bnw,6757
139
+ pyglove/core/utils/timing.py,sha256=fXdwEYXR84qZBC7hxbXbwztW2UKliJZLqCDvhz1qw_A,7241
140
+ pyglove/core/utils/timing_test.py,sha256=OZxi551MJec9cKtpNbeep6jjzP68JUHhSmRHNKDFRMw,4928
141
+ pyglove/core/utils/value_location.py,sha256=wAryIwQeEfrRddyGRk-KbLA7dnNDLhL-dSyFI9wIG5U,26756
142
+ pyglove/core/utils/value_location_test.py,sha256=X6Gih3IoYugziwXWH8VGz5bPeb3Kq0CfZxwbNVIsZJo,21338
143
143
  pyglove/core/views/__init__.py,sha256=gll9ZBRYz4p_-LWOdzSR2a6UTWcJ8nR430trrP0yLCU,967
144
- pyglove/core/views/base.py,sha256=Eq94AM5lryQ1IKuQsTSb7ZzX-lp2nhuOnS4ztMnCPIM,26447
144
+ pyglove/core/views/base.py,sha256=VVWlkyUPvZoNlcwMpuxt-AujGnuIJPS4Ym-jGBX0g9I,26262
145
145
  pyglove/core/views/base_test.py,sha256=UKbr_1TANOAnP7V5ICGF0UEkunfSaHiJ4nXZXhA0SaU,16642
146
146
  pyglove/core/views/html/__init__.py,sha256=Ff51MK1AKdzLM0kczTqLR3fRlJSJLDaFUdVyCu_7-eY,1085
147
- pyglove/core/views/html/base.py,sha256=S3dn2i9-yaH3wMUJRJFZDx72puhgDySyl1yFckiS6lM,15062
147
+ pyglove/core/views/html/base.py,sha256=LcRU8Lot_y1RW6fziaCQVVE0gWP0aVzIcO8v71JaX0E,15002
148
148
  pyglove/core/views/html/base_test.py,sha256=5RVPNm4YTamTFu6yXA1p2lJg3JHQBKNNBoL977qBZvE,22782
149
- pyglove/core/views/html/tree_view.py,sha256=9ngs3_sZ_1-YDBbZvkXbTEGz2PLtDXy1QbB0D22kVlo,52209
149
+ pyglove/core/views/html/tree_view.py,sha256=MkQXtNKn88j9NXdhluKbIaHswjh1QtQoPv-CUwUfCNk,52062
150
150
  pyglove/core/views/html/tree_view_test.py,sha256=whUorrw0eiDaZsEzGB2B3EN3wx0vLFuNEe2RBU03GeU,74707
151
151
  pyglove/core/views/html/controls/__init__.py,sha256=61qs5pnJPCTECCGBtkbNfIV3KcCu7cxfVNBEtIg1lMo,1318
152
- pyglove/core/views/html/controls/base.py,sha256=VV-dDc_myKYlZeiJUXubIJXYKnm1ncEqjlqibN3d4tM,7710
152
+ pyglove/core/views/html/controls/base.py,sha256=aSYFEo-I6Yc28TMk1ZFw_Za85xMo8EvgfQLKISsLSe8,7675
153
153
  pyglove/core/views/html/controls/label.py,sha256=dXcYId7ASuNqkzKsWMjJ0iQtecoSsUlUgynNNQZOFAM,5681
154
154
  pyglove/core/views/html/controls/label_test.py,sha256=uUYqBSZ0XLOuv4qG20gmoZzA3RxYxpfqT63K0azHEfU,5162
155
- pyglove/core/views/html/controls/progress_bar.py,sha256=kLdY3JQLCOv00ShldnQg3Qs8l1j_pDk148FoKfrZB64,5275
155
+ pyglove/core/views/html/controls/progress_bar.py,sha256=0an0eCbPCDjwrR58C16NwLZ-cf3Oy0wQerLsiNgGHmk,5235
156
156
  pyglove/core/views/html/controls/progress_bar_test.py,sha256=kKOJDZQtBPkmNcgIBrRQkNNzcTm51ojuFBTRUEDSsp0,3506
157
157
  pyglove/core/views/html/controls/tab.py,sha256=ELyroRb3qKQ8ULM_BMq2j-tqV_mnHOvrYv2kbuIe65o,9430
158
158
  pyglove/core/views/html/controls/tab_test.py,sha256=wr1msQjZHxp1TFKQ5LxtppY2Dys736JCmmEJ8WBC3Fo,3531
@@ -197,8 +197,8 @@ pyglove/ext/scalars/randoms.py,sha256=LkMIIx7lOq_lvJvVS3BrgWGuWl7Pi91-lA-O8x_gZs
197
197
  pyglove/ext/scalars/randoms_test.py,sha256=nEhiqarg8l_5EOucp59CYrpO2uKxS1pe0hmBdZUzRNM,2000
198
198
  pyglove/ext/scalars/step_wise.py,sha256=IDw3tuTpv0KVh7AN44W43zqm1-E0HWPUlytWOQC9w3Y,3789
199
199
  pyglove/ext/scalars/step_wise_test.py,sha256=TL1vJ19xVx2t5HKuyIzGoogF7N3Rm8YhLE6JF7i0iy8,2540
200
- pyglove-0.4.5.dev202501050808.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
201
- pyglove-0.4.5.dev202501050808.dist-info/METADATA,sha256=YVUoI9Oo0jl5ee-A6RlfA1rItA9VCuZIPFn6MnMQuSA,6828
202
- pyglove-0.4.5.dev202501050808.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
203
- pyglove-0.4.5.dev202501050808.dist-info/top_level.txt,sha256=wITzJSKcj8GZUkbq-MvUQnFadkiuAv_qv5qQMw0fIow,8
204
- pyglove-0.4.5.dev202501050808.dist-info/RECORD,,
200
+ pyglove-0.4.5.dev202501060809.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
201
+ pyglove-0.4.5.dev202501060809.dist-info/METADATA,sha256=XsKRBqdRTJo7Y5ub7MMg1wY-rKZsQmpP7bIAbACBdo4,6828
202
+ pyglove-0.4.5.dev202501060809.dist-info/WHEEL,sha256=A3WOREP4zgxI0fKrHUG8DC8013e3dK3n7a6HDbcEIwE,91
203
+ pyglove-0.4.5.dev202501060809.dist-info/top_level.txt,sha256=wITzJSKcj8GZUkbq-MvUQnFadkiuAv_qv5qQMw0fIow,8
204
+ pyglove-0.4.5.dev202501060809.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (75.7.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,161 +0,0 @@
1
- # Copyright 2022 The PyGlove Authors
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # pylint: disable=line-too-long
15
- """Utility library that provides common traits for objects in Python.
16
-
17
- Overview
18
- --------
19
-
20
- ``pg.object_utils`` sits at the bottom of all PyGlove modules and empowers other
21
- modules with the following features:
22
-
23
- +---------------------+--------------------------------------------+
24
- | Functionality | API |
25
- +=====================+============================================+
26
- | Formatting | :class:`pg.Formattable`, |
27
- | | |
28
- | | :func:`pg.format`, |
29
- | | |
30
- | | :func:`pg.print`, |
31
- | | |
32
- | | :func:`pg.object_utils.kvlist_str`, |
33
- | | |
34
- | | :func:`pg.object_utils.quote_if_str`, |
35
- | | |
36
- | | :func:`pg.object_utils.message_on_path` |
37
- +---------------------+--------------------------------------------+
38
- | Serialization | :class:`pg.JSONConvertible`, |
39
- | | |
40
- | | :func:`pg.registered_types`, |
41
- | | |
42
- | | :func:`pg.object_utils.to_json`, |
43
- | | |
44
- | | :func:`pg.object_utils.from_json`, |
45
- +---------------------+--------------------------------------------+
46
- | Partial construction| :class:`pg.MaybePartial`, |
47
- | | |
48
- | | :const:`pg.MISSING_VALUE`. |
49
- +---------------------+--------------------------------------------+
50
- | Hierarchical key | :class:`pg.KeyPath` |
51
- | representation | |
52
- +---------------------+--------------------------------------------+
53
- | Hierarchical object | :func:`pg.object_utils.traverse` |
54
- | traversal | |
55
- +---------------------+--------------------------------------------+
56
- | Hierarchical object | :func:`pg.object_utils.transform`, |
57
- | transformation | |
58
- | | :func:`pg.object_utils.merge`, |
59
- | | |
60
- | | :func:`pg.object_utils.canonicalize`, |
61
- | | |
62
- | | :func:`pg.object_utils.flatten` |
63
- +---------------------+--------------------------------------------+
64
- | Code generation | :class:`pg.object_utils.make_function` |
65
- +---------------------+--------------------------------------------+
66
- | Docstr handling | :class:`pg.docstr`, |
67
- +---------------------+--------------------------------------------+
68
- | Error handling | :class:`pg.catch_errors`, |
69
- +---------------------+--------------------------------------------+
70
- """
71
- # pylint: enable=line-too-long
72
- # pylint: disable=g-bad-import-order
73
- # pylint: disable=g-importing-member
74
-
75
- # Handling JSON conversion.
76
- from pyglove.core.object_utils.json_conversion import Nestable
77
- from pyglove.core.object_utils.json_conversion import JSONValueType
78
-
79
- from pyglove.core.object_utils.json_conversion import JSONConvertible
80
- from pyglove.core.object_utils.json_conversion import from_json
81
- from pyglove.core.object_utils.json_conversion import to_json
82
- from pyglove.core.object_utils.json_conversion import registered_types
83
-
84
- # Handling formatting.
85
- from pyglove.core.object_utils.formatting import Formattable
86
- from pyglove.core.object_utils.formatting import format # pylint: disable=redefined-builtin
87
- from pyglove.core.object_utils.formatting import printv as print # pylint: disable=redefined-builtin
88
- from pyglove.core.object_utils.formatting import kvlist_str
89
- from pyglove.core.object_utils.formatting import quote_if_str
90
- from pyglove.core.object_utils.formatting import maybe_markdown_quote
91
- from pyglove.core.object_utils.formatting import comma_delimited_str
92
- from pyglove.core.object_utils.formatting import camel_to_snake
93
- from pyglove.core.object_utils.formatting import auto_plural
94
- from pyglove.core.object_utils.formatting import BracketType
95
- from pyglove.core.object_utils.formatting import bracket_chars
96
- from pyglove.core.object_utils.formatting import RawText
97
-
98
- # Context managers for defining the default format for __str__ and __repr__.
99
- from pyglove.core.object_utils.formatting import str_format
100
- from pyglove.core.object_utils.formatting import repr_format
101
-
102
- # Value location.
103
- from pyglove.core.object_utils.value_location import KeyPath
104
- from pyglove.core.object_utils.value_location import KeyPathSet
105
- from pyglove.core.object_utils.value_location import StrKey
106
- from pyglove.core.object_utils.value_location import message_on_path
107
-
108
- # Value markers.
109
- from pyglove.core.object_utils.missing import MissingValue
110
- from pyglove.core.object_utils.missing import MISSING_VALUE
111
-
112
- # Handling hierarchical.
113
- from pyglove.core.object_utils.hierarchical import traverse
114
- from pyglove.core.object_utils.hierarchical import transform
115
- from pyglove.core.object_utils.hierarchical import flatten
116
- from pyglove.core.object_utils.hierarchical import canonicalize
117
- from pyglove.core.object_utils.hierarchical import merge
118
- from pyglove.core.object_utils.hierarchical import merge_tree
119
- from pyglove.core.object_utils.hierarchical import is_partial
120
- from pyglove.core.object_utils.hierarchical import try_listify_dict_with_int_keys
121
-
122
- # Common traits.
123
- from pyglove.core.object_utils.common_traits import MaybePartial
124
- from pyglove.core.object_utils.common_traits import Functor
125
-
126
- from pyglove.core.object_utils.common_traits import explicit_method_override
127
- from pyglove.core.object_utils.common_traits import ensure_explicit_method_override
128
-
129
- # Handling thread local values.
130
- from pyglove.core.object_utils.thread_local import thread_local_value_scope
131
- from pyglove.core.object_utils.thread_local import thread_local_has
132
- from pyglove.core.object_utils.thread_local import thread_local_set
133
- from pyglove.core.object_utils.thread_local import thread_local_get
134
- from pyglove.core.object_utils.thread_local import thread_local_del
135
- from pyglove.core.object_utils.thread_local import thread_local_increment
136
- from pyglove.core.object_utils.thread_local import thread_local_decrement
137
- from pyglove.core.object_utils.thread_local import thread_local_push
138
- from pyglove.core.object_utils.thread_local import thread_local_pop
139
- from pyglove.core.object_utils.thread_local import thread_local_peek
140
-
141
- # Handling docstrings.
142
- from pyglove.core.object_utils.docstr_utils import DocStr
143
- from pyglove.core.object_utils.docstr_utils import DocStrStyle
144
- from pyglove.core.object_utils.docstr_utils import DocStrEntry
145
- from pyglove.core.object_utils.docstr_utils import DocStrExample
146
- from pyglove.core.object_utils.docstr_utils import DocStrArgument
147
- from pyglove.core.object_utils.docstr_utils import DocStrReturns
148
- from pyglove.core.object_utils.docstr_utils import DocStrRaises
149
- from pyglove.core.object_utils.docstr_utils import docstr
150
-
151
- # Handling exceptions.
152
- from pyglove.core.object_utils.error_utils import catch_errors
153
- from pyglove.core.object_utils.error_utils import CatchErrorsContext
154
- from pyglove.core.object_utils.error_utils import ErrorInfo
155
-
156
- # Timing.
157
- from pyglove.core.object_utils.timing import timeit
158
- from pyglove.core.object_utils.timing import TimeIt
159
-
160
- # pylint: enable=g-importing-member
161
- # pylint: enable=g-bad-import-order
File without changes
File without changes
File without changes
File without changes