* Do not return from blocking unsubscribe until _after_ putting the
gotten unsubscribe message on the queue so that it can be read by the
thread of execution that was unblocked.
* Instead of waiting an arbitrary number of seconds. We can now wait the
exact amount of time needed to KNOW that we are unsubscribed. This
changeset takes advantage of the new subscribe reply semantic.
- remove flake8 as an install requirements (it's only used for tests)
- vendor toposort, which is Apache 2.0 licensed (and very small)
- change websocket-client to a setuptools optional dependency, which you
can install via:
pip install "./awxkit[websockets]"
- add `jq` and `tabulate` under an additional optional setuptools
dependency:
pip install "./awxkit[formatting]"
- remove `cryptography`, which is only used for random RSA generation
(unused by the CLI)