Do it the other way around:
name = property(**host())
host = property(**host())
or just:
host = property(**host())
name = host
The way you're doing it now, name = property(**host())
is working on the property host
, which has substituted the method by then.