cancel-token

Simple CancellationToken


License
MIT
Install
pip install cancel-token==0.1.6

Documentation

CancellationToken for Python

This library provide simple cancellation token.

Usage

First create token

from cancel_token import CancellationToken

token = CancellationToken()

At any point in time you can check if token has been cancelled:

if token.cancelled:
    print('Operation already cancelled')
    return None  

To cancel token call its cancel method:

token.cancel()
assert token.cancelled

It is also possible to add callbacks that will be called on when token is cancelled:

def handler():
    print('Operation has been cancelled')

token.on_cancel(handler)

Note:

  • If token is already cancelled, callback will be invoked immediately.
  • All registered callbacks will be called sequentially during cancel call.
  • Callback throwing exception will prevent remaining callbacks from calling. However token will be cancelled
  • During callback invocation token is already cancelled
  • It is possible to add callback from within callback
  • Removing callback from within callback will not prevent its execution