Interesting. I find that I always have this problem in any non-trivial python project, and don't find this to be due to poorly organized code. I have only seen this requirement in Python.
IME circular import errors aren't due to poor organization; they're due to an arbitrary restriction Python has.
IME circular import errors aren't due to poor organization; they're due to an arbitrary restriction Python has.