То, что возможно, зависит от деталей модулей, но обычно вы можете просто импортировать конкретные объекты, необходимые из модулей, например:
в B.py
from A import classA1, funA1
в A.py
from B import classB1, funB1
так что вы импортируете только то, что нужно. Если зависимости более сложные, это может не сработать, но в целом это должно быть возможно (если только у вас нет реальных взаимных рекурсивных зависимостей на уровне объектов, которые вы не можете разрешить!).