Indication de type Python sans importations cycliques

| | | | | | | | | |

J'essaie de diviser mon énorme classe en deux ; eh bien, essentiellement dans la classe "principale" et un mixin avec des fonctions supplémentaires, comme ceci :

main.py file :

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

mymixin.py file :

class MyMixin(object): def func2(self: Main, xxx): # <--- notez l'indice de type ... 

Maintenant, bien que cela fonctionne très bien, l'indication de type dans MyMixin.func2 ne peut bien sûr pas fonctionner. Je ne peux pas importer main.py, car j'obtiendrais une importation cyclique et sans l'indice, mon éditeur (PyCharm) ne peut pas dire ce qu'est self.

J'utilise Python 3.4, prêt à passer à 3.5 si une solution y est disponible.

Est-il possible de diviser ma classe en deux fichiers et de conserver toutes les "connexions " pour que mon IDE me propose toujours l'auto-complétion & tous les autres goodies qui en découlent connaissant les types ?