liesel-devs / liesel

A probabilistic programming framework
https://liesel-project.org
MIT License
38 stars 2 forks source link

Let GraphBuilder.replace_node, GraphBuilder.replace_var and GraphBuilder.transform find existing objects by name #88

Open jobrachem opened 1 year ago

jobrachem commented 1 year ago

Currently, you always have to do something like this:

import liesel.model as lsl

a = lsl.Var(0.0, name="a_name")
b = lsl.Var(0.0, name="b_name")

gb = lsl.GraphBuilder().add(a)

gb.replace_var(a, b)

I think it would be user-friendly to also allow

import liesel.model as lsl

a = lsl.Var(0.0, name="a_name")
b = lsl.Var(0.0, name="b_name")

gb = lsl.GraphBuilder().add(a)

gb.replace_var("a_name", b)