It looks like JSONDecodeError isn't in certain versions of simplejson(i.e. the one in a semi-recent version of Ubuntu).
I commented it out, added a defaultsettings.py, implemented cancel.py, and added support for ExchangeBitcoins.com. I'd like to submit a pull request but I'd like to know if you have any preference for dealing with the missing JSONDecodeError.
JSONDecodeError was indeed introduced in simplejson 2.1. Older versions raised ValueError (which JSONDecodeError now extends) so I'll use that for compatibility. Thanks for the notice.
I've already implemented cancel without requiring the type parameter (more convenient).
Please merge that and I'll pull your changes.