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.Inferentialfor 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_parentsflag (cd0029c).pg.symbolic.Origin: addedrootproperty andhistorymethod (2686b29).pg.Symbolic.sym_*: have consistent value fordefault(90afe73).
- (Major)
-
pg.typing- (Major)
pg.typing.ValueSpeccan 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.Fieldandpg.typing.KeySpecandpg.typing.ValueSpecare now serializable (7777e8f). - Added
pg.typing.Annotated,pg.typing.Sequenceandpg.typing.Optional(ddbade7). - Added
pg.typing.ValueSpec.transformfor transforming the user input values during apply (a83c2ee, 0a9b034). - Added
pg.typing.callable_eqfor comparing two callable objects (7777e8f). - Added implicit conversion from
inttofloat(caa3c93)
- (Major)
-
pg.object_utils
Bug Fixes
-
pg.symbolicpg.Object.from_json: propagateallow_partialflag to child. (1cc5aab)
-
pg.typingpg.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.schematopg.Object.__schema__,pg.Object.type_nametopg.Object.__type_name__,pg.Object.serialization_keytopg.JSONConvertible.__serialization_key__(bdffd58) - Renamed
pg.Functor.signaturetopg.Functor.__signature__. - Removed
pg.ContextualValue,pg.symbolic.GetAttributeContext,pg.Symbolic.sym_contextual_getattr/hasattr(5ef667c).
- Renamed
-
pg.typing- Merged
pg.typing.get_first_applicable_converterintopg.typing.get_converter(dd1c253).
- Merged