v0.0.20¶
Re-release of v0.0.19 changes (GitHub release was not created for v0.0.19).
New: ParamInfo and MethodInterface Pydantic models¶
Pure-data Pydantic models that describe a callable's signature without
requiring a GlobalRef or live callable reference.
ParamInfo— serializable parameter metadata:name,type_str,default,is_optional,description,annotation(excluded from serialization). Replaces the oldArgInfoNamedTuple.MethodInterface— serializable callable signature:params,return_type,doc,return_annotation(excluded). Built viaMethodInterface.from_callable(), which resolves stringified annotations fromfrom __future__ import annotationsusingtyping.get_type_hints().MethodInterface.validate_simple_type_args()— structural type comparison for DAG wiring validation.
Changed¶
MethodcomposesMethodInterfacewith optionalgref—grefis nowGlobalRef | None, so closures, lambdas, and bound methods work without aGlobalRef. Fragment registration no longer uses aGlobalRef("__fragment__:name")hack.- CLI helpers moved to free functions —
param_to_value,is_turn_on_flag,param_arg_help,param_opt_helpare now free functions inlythonic.compose.clioperating onParamInfo. - Decorator consolidation — all compose decorators (
inline,dag_factory,nsnode,require_cache,mountable,mount_required) now live inlythonic.compose.namespace. The_inline.pymodule is deleted. - Fragment method discovery —
_discover_fragment_methodsskips all private attributes unconditionally.
Removed¶
ArgInfoNamedTuple (replaced byParamInfo)gref.is_async()usage (replaced byasyncio.iscoroutinefunction())lythonic.compose._inlinemodule (inlinemoved tonamespace.py)inlinere-export fromlythonic.compose(import fromlythonic.compose.namespaceinstead)