PyUp Safety actively tracks 268,345 Python packages for vulnerabilities and notifies you when to upgrade.
Updates to HTTP error handling. Previously, there was a general mechanism to retry 3 times for every error. This retry mechanism had a backoff design, but there was not a long enough delay duration to recover from a rate limit error with the premium tier of Twitter search. It also treated all errors the same, retrying three times even if your credentials were wrong. So, this new update does the following: + With rate limit errors, it backs off exponentially across a fifteen-minute period and should recover from such errors and continue on. + Retries with 5xx server-side errors, 30 seconds between retries. + All other errors (4xx) are treated as "one and done, no use in retrying..." errors.
We've improved handling of errors by passing the great error messages from the API back to the calling program, which we hope will help developers debug their rules more quickly. We've also cleaned up handling of the script's calling environment and improved debugging output.
We have not kept releases in sync with Pypi, so this is a bit of a catch up. This integrates work to improve credential handling and our documentation around examples and setup, as well as a few bugfixes.
This change breaks compatibility with the v0 series as we have changed the package name from `twittersearch` to `searchtweets` so that we can host it on pypi.
This coincides with our [premium search api launch](https://blog.twitter.com/developer/en_us/topics/tools/2017/introducing-twitter-premium-apis.html) and supports interacting with the API either with a command-line app or via a Python program.