Python-type hints zonder cyclische import

| | | | | | | | | |

Ik probeer mijn enorme klas in tweeën te splitsen; nou ja, eigenlijk in de "hoofd" -klasse en een mix met extra functies, zoals:

main.py bestand:

import mymixin.py class Main(object, MyMixin): def func1(self, xxx): ... 

mymixin.py bestand:

class MyMixin(object): def func2(self: Main, xxx): # <--- let op de typehint ... 

Hoewel dit prima werkt, kan de typehint in MyMixin.func2 natuurlijk niet werken. Ik kan main.py niet importeren, omdat ik een cyclische import zou krijgen en zonder de hint kan mijn editor (PyCharm) niet zeggen wat self is.

Ik gebruik Python 3.4 en ben bereid om naar 3.5 te gaan als daar een oplossing beschikbaar is.

Is er een manier om mijn klas in twee bestanden te splitsen en alle "verbindingen" te behouden " zodat mijn IDE me nog steeds automatische aanvulling biedt & al het andere lekkers dat eruit voortkomt door de soorten te kennen?