circular import dependencies in a package with inheritances
<p>I have basically the following setup in my package:</p>

<p>thing.py:</p>

<pre><code>from otherthing import *

class Thing(Base):
    def action(self):
        ...do something with Otherthing()...
</code></pre>

<p>subthing.py:</p>

<pre><code>from thing import *

class Subthing(Thing):
    pass
</code></pre>

<p>otherthing.py:</p>

<pre><code>from subthing import *

class Otherthing(Base):
    def action(self):
        ... do something with Subthing()...
</code></pre>

<p>If I put all objects into one file, it will work, but that file would just become way too big and it'll be harder to maintain. How do I solve this problem? </p>
