A Python SDK by LUCIT to use the Binance Websocket API`s (com+testnet, com-margin+testnet, com-isolated_margin+testnet, com-futures+testnet, com-coin_futures, us, tr, dex/chain+testnet) in a simple, fast, flexible, robust and fully-featured way.
import unicorn_binance_websocket_api
ubwa = unicorn_binance_websocket_api.BinanceWebSocketApiManager(exchange="binance.com")
ubwa.create_stream(["trade"], ["btcusdt"])
while True:
oldest_data_from_stream_buffer = ubwa.pop_stream_data_from_stream_buffer()
if oldest_data_from_stream_buffer:
print(oldest_data_from_stream_buffer)
Processing method?
process_stream_data
Used endpoint?
binance.com
Issue
Exception in thread _create_stream_thread: stream_id=c4f9acc5ecdf-f502-7cff-6d43-d9f88ff6, time=1663998042.0248468:
Traceback (most recent call last):
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/threading.py", line 1009, in _bootstrap_inner
self.run()
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/threading.py", line 946, in run
self._target(self._args, self._kwargs)
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/unicorn_binance_websocket_api/manager.py", line 529, in _create_stream_thread
loop.run_until_complete(socket.start_socket())
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
return future.result()
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/unicorn_binance_websocket_api/sockets.py", line 67, in start_socket
async with BinanceWebSocketApiConnection(self.manager,
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/unicorn_binance_websocket_api/connection.py", line 138, in aenter
self.manager.websocket_list[self.stream_id] = await self._conn.aenter()
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/websockets/legacy/client.py", line 604, in aenter
return await self
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/websockets/legacy/client.py", line 622, in __await_impl
transport, protocol = await self._create_connection()
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/asyncio/base_events.py", line 1089, in create_connection
transport, protocol = await self._create_connection_transport(
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/asyncio/base_events.py", line 1107, in _create_connection_transport
protocol = protocol_factory()
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/websockets/legacy/client.py", line 160, in init
super().init__(kwargs)
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/websockets/legacy/protocol.py", line 154, in init
self._drain_lock = asyncio.Lock(
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/asyncio/locks.py", line 78, in init
super().init(loop=loop)
File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/asyncio/mixins.py", line 17, in init
raise TypeError(
TypeError: As of 3.10, the loop* parameter was removed from Lock() since it is no longer necessary
Version of this library.
unicorn-binance-websocket-api==1.41.0 unicorn-fy==0.12.2
Solution to Issue cannot be found in the documentation or other Issues and also occurs in the latest version of this library.
Hardware?
Local server/workstation
Operating System?
Linux
Python version?
Python3.10
Installed packages
Logging output
Processing method?
process_stream_data
Used endpoint?
binance.com
Issue
Exception in thread _create_stream_thread: stream_id=c4f9acc5ecdf-f502-7cff-6d43-d9f88ff6, time=1663998042.0248468: Traceback (most recent call last): File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/threading.py", line 1009, in _bootstrap_inner self.run() File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/threading.py", line 946, in run self._target(self._args, self._kwargs) File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/unicorn_binance_websocket_api/manager.py", line 529, in _create_stream_thread loop.run_until_complete(socket.start_socket()) File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete return future.result() File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/unicorn_binance_websocket_api/sockets.py", line 67, in start_socket async with BinanceWebSocketApiConnection(self.manager, File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/unicorn_binance_websocket_api/connection.py", line 138, in aenter self.manager.websocket_list[self.stream_id] = await self._conn.aenter() File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/websockets/legacy/client.py", line 604, in aenter return await self File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/websockets/legacy/client.py", line 622, in __await_impl transport, protocol = await self._create_connection() File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/asyncio/base_events.py", line 1089, in create_connection transport, protocol = await self._create_connection_transport( File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/asyncio/base_events.py", line 1107, in _create_connection_transport protocol = protocol_factory() File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/websockets/legacy/client.py", line 160, in init super().init__(kwargs) File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/site-packages/websockets/legacy/protocol.py", line 154, in init self._drain_lock = asyncio.Lock( File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/asyncio/locks.py", line 78, in init super().init(loop=loop) File "/home/rizhiy/miniconda3/envs/binance-test/lib/python3.10/asyncio/mixins.py", line 17, in init raise TypeError( TypeError: As of 3.10, the loop* parameter was removed from Lock() since it is no longer necessary