thanks for the response @jcaron. Unfortunately all the methods you suggest only work on the expansion board types, not the deepsleep shield.
The only way I can see to do this is to use an exception handler. Not very pythonic, but it does work.
import deepsleep
ds = deepsleep.DeepSleep()
try:
ds.get_wake_status()
shield = True
except:
shield = False
print(shield)