I'd like to divide some abstract code from its implementation and link the actual implementation as import in __init__.py.
My 'model/__init__.py' looks like this:
from .estimator import AbstractEstimator
# link default estimator implementation
from impl.tf import TF_Estimator as Estimator
However, TF_Estimator is a sub-class of 'model.AbstractEstimator':
from model import AbstractEstimator
class TF_Estimator(AbstractEstimator):
...
How can I resolve this cyclic dependency?
Is there some way to "ignore" the import of 'TF_Estimator' in 'model/__init__.py'?
My target would be that I can run "from model import Estimator" and get "TF_Estimator" back in the end.