@@ -550,11 +550,15 @@ def export(self, *, linked: bool = False):
550550 instance_name : operation .export ()
551551 for instance_name , operation in self .operations .items ()
552552 },
553- "seed" : self .seed .copy (),
554- "configs" : self .configs .copy (),
555- "flow" : self .flow .copy (),
556- "forward" : self .forward .export (),
557553 }
554+ if self .seed :
555+ exported ["seed" ] = self .seed .copy ()
556+ if self .flow :
557+ exported ["flow" ] = self .flow .copy ()
558+ if self .configs :
559+ exported ["configs" ] = self .configs .copy ()
560+ if self .forward .book :
561+ exported ["forward" ] = self .forward .export ()
558562 if linked :
559563 exported ["linked" ] = True
560564 exported ["definitions" ] = self .definitions .copy ()
@@ -574,16 +578,19 @@ def _fromdict(cls, *, linked: bool = False, **kwargs):
574578 for instance_name , operation in kwargs ["operations" ].items ()
575579 }
576580 # Import seed inputs
577- kwargs ["seed" ] = [
578- Input ._fromdict (** input_data ) for input_data in kwargs ["seed" ]
579- ]
581+ if "seed" in kwargs :
582+ kwargs ["seed" ] = [
583+ Input ._fromdict (** input_data ) for input_data in kwargs ["seed" ]
584+ ]
580585 # Import input flows
581- kwargs ["flow" ] = {
582- instance_name : InputFlow ._fromdict (** input_flow )
583- for instance_name , input_flow in kwargs ["flow" ].items ()
584- }
586+ if "flow" in kwargs :
587+ kwargs ["flow" ] = {
588+ instance_name : InputFlow ._fromdict (** input_flow )
589+ for instance_name , input_flow in kwargs ["flow" ].items ()
590+ }
585591 # Import forward
586- kwargs ["forward" ] = Forward ._fromdict (** kwargs ["forward" ])
592+ if "forward" in kwargs :
593+ kwargs ["forward" ] = Forward ._fromdict (** kwargs ["forward" ])
587594 return cls (** kwargs )
588595
589596 @classmethod
0 commit comments