# === mod1.py === from mod2 import x def z(): y = x() print y.s z() # === 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)