# === mod1.py === from foo import bar from mod2 import x bar.print_info(x) # === mod2.py === from mod3 import w from foo import bar class x(object): def __init__(self): self.s = "HELLO" bar.connect(x, w) # === mod3.py === from mod2 import x from foo import bar class w(object): def __init__(self): self.z = "SDFD" bar.connect(w, x)