Refactored to use requests, clean up error reporting, release new pypi package