From 2cf8cb8fb8fd8948d685e2e259c09d672eb9d80f Mon Sep 17 00:00:00 2001 From: Benjamin Margolis Date: Tue, 24 Mar 2026 06:52:06 -0700 Subject: [PATCH 1/2] add is_template flag to model metadata --- src/condor/models.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/condor/models.py b/src/condor/models.py index 379a0167..eff72506 100644 --- a/src/condor/models.py +++ b/src/condor/models.py @@ -47,6 +47,7 @@ class BaseModelMetaData: options: object = None inherited_methods: dict = dc.field(default_factory=dict) + is_template: bool = False # assembly/component can also get children/parent # assembly/components get inheritance rules? yes, submodels don't need it -- only @@ -891,7 +892,9 @@ def __prepare__( ) is not None ): - meta = user_model_metclass.metadata_class(model_name=model_name) + meta = user_model_metclass.metadata_class( + model_name=model_name, is_template=as_template + ) # actually creating a model template, TODO at some point tap into # inheritance tree for now nothing fails this check if as_template: @@ -1463,6 +1466,8 @@ def bind_embedded_models(self): } ) + self.update_model_assignments(model_assignments) + for ( embedded_model_ref_name, embedded_model_instance, @@ -1490,6 +1495,9 @@ def bind_embedded_models(self): bound_embedded_model.bind_embedded_models() + def update_model_assignments(self, model_assignments): + return + def bind_input_as_embedded( self, parent_instance, @@ -1537,6 +1545,7 @@ def bind_output_as_embedded(self, parent_instance, bound_embedded_model): if isinstance(sym_bound_field, FieldValues) and isinstance( ran_bound_field, FieldValues ): + # TODO: sym_bound_field_dict is really just list_of? sym_bound_field_dict = dc.asdict(sym_bound_field) ran_bound_field_dict = dc.asdict(ran_bound_field) assignment_updates.update( From e674623b763dc4c503df7aeb735ca19f8000907b Mon Sep 17 00:00:00 2001 From: Benjamin Margolis Date: Thu, 25 Jun 2026 17:56:14 -0700 Subject: [PATCH 2/2] fix orbital example compatibility with numpy 2.5.0 change to linalg.eig --- docs/examples_src/orbital_1.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/examples_src/orbital_1.py b/docs/examples_src/orbital_1.py index 86762b71..c42c252a 100644 --- a/docs/examples_src/orbital_1.py +++ b/docs/examples_src/orbital_1.py @@ -229,7 +229,7 @@ def plot_traj(sim, x_idx=0, y_idx=2): for pos_vel, cov in zip(sim.x.T.squeeze(), sim.C.T): pos = pos_vel[[x_idx, y_idx]] C = cov[[x_idx, y_idx]][:, [x_idx, y_idx]] - lambda_, v = np.linalg.eig(C) + lambda_, v = np.linalg.eigh(C) lambda_ = np.sqrt(lambda_) ellipse = Ellipse(