As @gerrit pointed out, the Pytroll project has a couple of package which could be useful.
To answer your question and get the next overpasses for the next twelve hours above a given location, you can use Pyorbital (https://github.com/pytroll/pyorbital):
from pyorbital.orbital import Orbital
from datetime import datetime
orb = Orbital("SMAP")
orb.get_next_passes(datetime.now(), length=12, lon=16, lat=55, alt=0.05)
with length in hours, lon and lat in degrees, alt in km. And this will display (at the time of writing this):
[(datetime.datetime(2020, 2, 24, 13, 14, 54, 147587),
datetime.datetime(2020, 2, 24, 13, 23, 23, 955297),
datetime.datetime(2020, 2, 24, 13, 19, 8, 924860)),
(datetime.datetime(2020, 2, 24, 14, 48, 41, 249324),
datetime.datetime(2020, 2, 24, 15, 1, 24, 171709),
datetime.datetime(2020, 2, 24, 14, 55, 1, 725148)),
(datetime.datetime(2020, 2, 24, 16, 25, 14, 798347),
datetime.datetime(2020, 2, 24, 16, 39, 0, 109628),
datetime.datetime(2020, 2, 24, 16, 32, 5, 434271)),
(datetime.datetime(2020, 2, 24, 18, 5, 14, 617775),
datetime.datetime(2020, 2, 24, 18, 15, 43, 280401),
datetime.datetime(2020, 2, 24, 18, 10, 27, 671621))]
Each tuple is (rise, fall, highest point)
.
Now we also have the pytroll-schedule package, in case you need to make a full acquisition plan, that will allow you for example to put priorities on satellites:
https://github.com/pytroll/pytroll-schedule