Циклический импорт, вызванный глобальными переменными.
Вместо того, чтобы использовать глобальные переменные, вынеси код в функции, и передавай им нужные объекты явно. Тогда модулю, содержащему функции, не нужно будет импортировать модуль, содержащий переменные. А там, глядишь, дойдёшь и до классов.