PyGlove v0.4.3
This release contains major updates on pg.symbolic
and pg.typing
.
Enhancements
-
pg.symbolic
- (Major)
pg.to_json
/pg.from_json
: supported serialization of Python types, annotations, functions/methods and opaque objects (6529a3c, 7777e8f, 4911073) - (Major) Added
pg.Inferential
for symbolic value inference (5ef667c). - (Major) Added symbolic reference
pg.Ref
, which allows referencing symbolic values in a symbolic tree (b28dc68). pg.Functor
: supported functor creation through subclasssing (4950819).pg.Symbolic.rebind
: supportednotify_parents
flag (cd0029c).pg.symbolic.Origin
: addedroot
property andhistory
method (2686b29).pg.Symbolic.sym_*
: have consistent value fordefault
(90afe73).
- (Major)
-
pg.typing
- (Major)
pg.typing.ValueSpec
can be used as a drop-in replacement for standard Python annotations. E.g.pg.typing.List[int]
(ddbade7, c2eca16, 79ec73). - (Major)
pg.Schema
,pg.typing.Field
andpg.typing.KeySpec
andpg.typing.ValueSpec
are now serializable (7777e8f). - Added
pg.typing.Annotated
,pg.typing.Sequence
andpg.typing.Optional
(ddbade7). - Added
pg.typing.ValueSpec.transform
for transforming the user input values during apply (a83c2ee, 0a9b034). - Added
pg.typing.callable_eq
for comparing two callable objects (7777e8f). - Added implicit conversion from
int
tofloat
(caa3c93)
- (Major)
-
pg.object_utils
Bug Fixes
-
pg.symbolic
pg.Object.from_json
: propagateallow_partial
flag to child. (1cc5aab)
-
pg.typing
pg.typing.ForwardRef
: fixed issue during deep copying (ddbade7).
-
pg.ext.early_stopping
- Fix an issue in state recovery for
pg.early_stopping.StepWise
(808ca8e).
- Fix an issue in state recovery for
Deprecated/Renamed APIs
-
pg.symbolic
- Renamed
pg.Object.schema
topg.Object.__schema__
,pg.Object.type_name
topg.Object.__type_name__
,pg.Object.serialization_key
topg.JSONConvertible.__serialization_key__
(bdffd58) - Renamed
pg.Functor.signature
topg.Functor.__signature__
. - Removed
pg.ContextualValue
,pg.symbolic.GetAttributeContext
,pg.Symbolic.sym_contextual_getattr/hasattr
(5ef667c).
- Renamed
-
pg.typing
- Merged
pg.typing.get_first_applicable_converter
intopg.typing.get_converter
(dd1c253).
- Merged