PyUp Safety actively tracks 262,873 Python packages for vulnerabilities and notifies you when to upgrade.
* Support multisymbol subscriptions per listener
* Bitmex trio websocket is now based on the [Slurry](https://slurry.readthedocs.io/en/latest/) streaming data processing microframework.
* Documentation: Remove link to missing docs. See the readme for documentation.
* Better propagation of connection closure. Before, if the websocket was closed by the remote server for any reason, bitmex_trio_websocket would simply output a log message and take no further action. This is obviously a problem, because the client application now has no way to tell that the connection is closed, other than contrived means, like polling the underlying trio_websocket object periodically. Now, connection closure results in the following: * All listen channels will be closed. No reason is given for the closure. * Attemts to open new listen channels will cause trio.ClosedResourceError to be raised. * It is assumed that closing of listen channels causes the websocket context to exit in the client application. At context exit, the exception that caused the underlying trio_websocket to close is reraised as a notification to the client application.
* Fix: RuntimeError: dictionary changed size during iteration, when listeners added while simultaneously sending a message.
* Add support for custom user defined table keys.
* Fix: Multiple subscriptions to the same channel was not handled properly, resulting in log warnings. * Fix: Use pendulum to parse RFC 3339 timestamps
* Warning! Thorough refactoring resulting in major api changes. `BitMEXWebsocket` is now created using the `open_bitmex_websocket` function, which is a standalone async context manager. It returns a BitMEXWebsocket. * Deletions are now broadcasted to listeners.
* Fix: Uses aclosing from async_generator library for context management of all async generators to ensure safe garbage collection. Always ensure you context manage async generators. They *will* shoot you in the foot otherwise! * Fix: Handle response message from dead mans switch.
* Added optional dead mans switch. See: https://www.bitmex.com/app/wsAPIDead-Mans-Switch-Auto-Cancel
* Fixed table storage for insert-only keyless tables, like tradeBin. Uses attributes from partial message instead of the keys list.
* Relaxed python dependency to 3.6
* Checks network argument to BitMEXWebsocket init method is valid. * storage.insert() method allows storage to be patched externally.
* Big refactoring. * Handles subscriptions individually per channel. * Data storage uses sorted containers for search efficiency.
* Documentation fixes.
* Added documentation.
* First release on PyPI.