Единственный разумный способ сделать то, что вы хотите, это заставить приложение B работать против официальных выпусков приложения A, даже если эти выпуски помечены beta или кандидат на выпуск . IOW, не рассматривайте приложение A как исходный код, а как импортированный модуль, установленный с setup.py
или другими средствами.
Делая это таким образом, вы сможете переместить приложение B с одной хорошо известной стадии A на другую, плюс вы сможете сообщать об ошибках или несовместимостях с конкретными выпусками и возвращаться к предыдущим выпускам, когда новый A сломается. B.