В документах Pyephem есть пример, как вычислить созвездие, в котором планета находится в определенное время.
>>> m = ephem.Moon('1980/6/1')
>>> print(ephem.constellation(m))
('Sgr', 'Sagittarius')
Но как рассчитать время, когда планета сменит созвездие?