A Promise A+ compatible library with cancellation and notification for python 2 or 3 with pyjsruntime