Skip to content

Commit 11b7c28

Browse files
logging payload (debug)
1 parent b713b7a commit 11b7c28

File tree

6 files changed

+91
-14
lines changed

6 files changed

+91
-14
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
3939
- Websocket API functions are no longer available under `manager.api` but under `manager.api.spot`. In addition, there
4040
is now also `manager.api.futures`.
4141
- No more use of deepcopy in ws api (faster!)
42+
- Enhanced logging in WS API
4243

4344
## 2.9.0
4445
### Added

binance_websocket_api_futures.py

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,32 @@ async def handle_socket_message(stream_id=None):
2424
process_asyncio_queue=handle_socket_message)
2525

2626
print(f"Executing API requests on Binance Futures:")
27-
ubwa.api.futures.get_account_status(stream_id=api_stream)
27+
account_status = ubwa.api.futures.get_account_status(stream_id=api_stream, return_response=True)
28+
print(f"Status of account_status request: {account_status['status']}\r\n")
2829
ubwa.api.futures.get_listen_key(stream_id=api_stream)
2930
ubwa.api.futures.get_server_time(stream_id=api_stream)
31+
print(f"Account balance: "
32+
f"{str(ubwa.api.futures.get_account_balance(stream_id=api_stream, return_response=True))[:100]} ...")
33+
print(f"Account position: "
34+
f"{str(ubwa.api.futures.get_account_position(stream_id=api_stream, return_response=True))[:100]} ...")
35+
print(f"Account status: "
36+
f"{str(ubwa.api.futures.get_account_status(stream_id=api_stream, return_response=True))[:100]} ...")
37+
print(f"Ticker order book: "
38+
f"{str(ubwa.api.futures.get_ticker_order_book(stream_id=api_stream, return_response=True))[:100]} ...")
39+
print(f"Ticker price: "
40+
f"{str(ubwa.api.futures.get_ticker_price(stream_id=api_stream, return_response=True))[:100]} ...")
3041
orig_client_order_id = ubwa.api.futures.create_order(stream_id=api_stream, price=1.0, order_type="LIMIT",
31-
quantity=15.0, side="SELL", symbol=market)
32-
#ubwa.api.futures.ping(stream_id=api_stream)
33-
order_book = ubwa.api.futures.get_order_book(stream_id=api_stream, symbol=market, limit=2, return_response=True)
34-
print(f"Orderbook, lastUpdateId={order_book['result']['lastUpdateId']}: {order_book['result']['asks']}, "
35-
f"{order_book['result']['bids']}\r\n")
36-
ubwa.api.futures.cancel_order(stream_id=api_stream, symbol=market, orig_client_order_id=orig_client_order_id)
37-
ubwa.api.futures.get_order(stream_id=api_stream, symbol=market, orig_client_order_id=orig_client_order_id)
38-
39-
print(f"Finished! Waiting for responses:")
40-
await asyncio.sleep(5)
42+
quantity=15.0, side="SELL", symbol=market, time_in_force="GTC")
43+
order_book = ubwa.api.futures.get_order_book(stream_id=api_stream, symbol=market, limit=10, return_response=True)
44+
print(f"Orderbook, lastUpdateId={order_book['result']['lastUpdateId']}: \r\nASKS {order_book['result']['asks']}\r\n"
45+
f"BIDS {order_book['result']['bids']}\r\n")
46+
#ubwa.api.futures.get_order(stream_id=api_stream, symbol=market, orig_client_order_id=orig_client_order_id)
47+
#new_orig_client_order_id = ubwa.api.futures.modify_order(stream_id=api_stream, symbol=market,
48+
# orig_client_order_id=orig_client_order_id)
49+
#ubwa.api.futures.cancel_order(stream_id=api_stream, symbol=market, orig_client_order_id=new_orig_client_order_id)
50+
#ubwa.api.futures.get_order(stream_id=api_stream, symbol=market, orig_client_order_id=new_orig_client_order_id)
51+
print(f"PING: {ubwa.api.futures.ping(stream_id=api_stream, return_response=True)}")
52+
await asyncio.sleep(2)
4153
print(f"Stopping!")
4254

4355
def process_stream_signal(signal_type=None, stream_id=None, data_record=None, error_msg=None):
@@ -55,7 +67,7 @@ def process_stream_signal(signal_type=None, stream_id=None, data_record=None, er
5567

5668
# To use this library you need a valid UNICORN Binance Suite License:
5769
# https://shop.lucit.services
58-
with BinanceWebSocketApiManager(exchange='binance.com-futures',
70+
with BinanceWebSocketApiManager(exchange='binance.com-futures-testnet',
5971
output_default="dict",
6072
process_stream_signals=process_stream_signal) as ubwa_manager:
6173
try:
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ async def handle_socket_message(stream_id=None):
4848
exchange_info = ubwa.api.spot.get_exchange_info(stream_id=api_stream, symbols=[market, ], return_response=True)
4949
print(f"Status of exchange_info request: {exchange_info['status']}\r\n")
5050

51-
order_book = ubwa.api.spot.get_order_book(stream_id=api_stream, symbol=market, limit=2, return_response=True)
51+
order_book = ubwa.api.spot.get_order_book(stream_id=api_stream, symbol=market, limit=10, return_response=True)
5252
print(f"Orderbook, lastUpdateId={order_book['result']['lastUpdateId']}: {order_book['result']['asks']}, "
5353
f"{order_book['result']['bids']}\r\n")
5454

unicorn_binance_websocket_api/api/futures.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,8 @@ def cancel_order(self, order_id: int = None, orig_client_order_id: str = None,
195195
"method": method,
196196
"params": params}
197197

198+
logger.debug(f"BinanceWebSocketApiApiFutures.cancel_order() - Create payload: {payload}")
199+
198200
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
199201
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
200202

@@ -507,6 +509,8 @@ def create_order(self,
507509
"method": method,
508510
"params": params}
509511

512+
logger.debug(f"BinanceWebSocketApiApiFutures.create_order() - Create payload: {payload}")
513+
510514
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
511515
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
512516

@@ -639,6 +643,8 @@ def get_account_balance(self, process_response=None, recv_window: int = None, re
639643
"method": method,
640644
"params": params}
641645

646+
logger.debug(f"BinanceWebSocketApiApiFutures.get_account_balance() - Created payload: {payload}")
647+
642648
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
643649
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
644650

@@ -833,6 +839,8 @@ def get_account_position(self, process_response=None, recv_window: int = None, r
833839
"method": method,
834840
"params": params}
835841

842+
logger.debug(f"BinanceWebSocketApiApiFutures.get_account_position() - Created payload: {payload}")
843+
836844
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
837845
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
838846

@@ -1119,6 +1127,8 @@ def get_account_status(self, process_response=None, recv_window: int = None, req
11191127
"method": method,
11201128
"params": params}
11211129

1130+
logger.debug(f"BinanceWebSocketApiApiFutures.get_account_status() - Created payload: {payload}")
1131+
11221132
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
11231133
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
11241134

@@ -1217,6 +1227,8 @@ def get_listen_key(self, process_response=None, request_id: str = None, return_r
12171227
"method": method,
12181228
"params": params}
12191229

1230+
logger.debug(f"BinanceWebSocketApiApiFutures.get_listen_key() - Created payload: {payload}")
1231+
12201232
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
12211233
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
12221234

@@ -1371,6 +1383,8 @@ def get_order(self, order_id: int = None, orig_client_order_id: str = None, proc
13711383
"method": method,
13721384
"params": params}
13731385

1386+
logger.debug(f"BinanceWebSocketApiApiFutures.get_order() - Created payload: {payload}")
1387+
13741388
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
13751389
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
13761390

@@ -1506,6 +1520,8 @@ def get_order_book(self, process_response=None, limit: int = None, recv_window:
15061520
"method": "depth",
15071521
"params": params}
15081522

1523+
logger.debug(f"BinanceWebSocketApiApiFutures.get_order_book() - Created payload: {payload}")
1524+
15091525
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
15101526
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
15111527

@@ -1598,6 +1614,8 @@ def get_server_time(self, process_response=None, request_id: str = None, return_
15981614
payload = {"id": request_id,
15991615
"method": "time"}
16001616

1617+
logger.debug(f"BinanceWebSocketApiApiFutures.get_server_time() - Created payload: {payload}")
1618+
16011619
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
16021620
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
16031621

@@ -1741,6 +1759,8 @@ def get_ticker_order_book(self, process_response=None, request_id: str = None, r
17411759
"method": "ticker.book",
17421760
"params": params}
17431761

1762+
logger.debug(f"BinanceWebSocketApiApiFutures.get_ticker_order_book() - Created payload: {payload}")
1763+
17441764
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
17451765
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
17461766

@@ -1875,6 +1895,8 @@ def get_ticker_price(self, process_response=None, request_id: str = None, return
18751895
"method": "ticker.price",
18761896
"params": params}
18771897

1898+
logger.debug(f"BinanceWebSocketApiApiFutures.get_ticker_price() - Created payload: {payload}")
1899+
18781900
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
18791901
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
18801902

@@ -2077,6 +2099,8 @@ def modify_order(self,
20772099
"method": method,
20782100
"params": params}
20792101

2102+
logger.debug(f"BinanceWebSocketApiApiFutures.modify_order() - Created payload: {payload}")
2103+
20802104
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
20812105
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
20822106

@@ -2165,6 +2189,8 @@ def ping(self, process_response=None, request_id: str = None, return_response: b
21652189
payload = {"id": request_id,
21662190
"method": "ping"}
21672191

2192+
logger.debug(f"BinanceWebSocketApiApiFutures.ping() - Created payload: {payload}")
2193+
21682194
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
21692195
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
21702196

unicorn_binance_websocket_api/api/spot.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,8 @@ def cancel_and_replace_order(self,
419419
"method": method,
420420
"params": params}
421421

422+
logger.debug(f"BinanceWebSocketApiApiSpot.cancel_and_replace_order() - Created payload: {payload}")
423+
422424
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
423425
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
424426

@@ -612,6 +614,8 @@ def cancel_open_orders(self, process_response=None, return_response: bool = Fals
612614
"method": method,
613615
"params": params}
614616

617+
logger.debug(f"BinanceWebSocketApiApiSpot.cancel_open_orders() - Created payload: {payload}")
618+
615619
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
616620
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
617621

@@ -785,6 +789,8 @@ def cancel_order(self, cancel_restrictions: Optional[Literal['ONLY_NEW', 'ONLY_P
785789
"method": method,
786790
"params": params}
787791

792+
logger.debug(f"BinanceWebSocketApiApiSpot.cancel_order() - Created payload: {payload}")
793+
788794
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
789795
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
790796

@@ -1059,6 +1065,8 @@ def create_order(self,
10591065
"method": method,
10601066
"params": params}
10611067

1068+
logger.debug(f"BinanceWebSocketApiApiSpot.create_order() - Created payload: {payload}")
1069+
10621070
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
10631071
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
10641072

@@ -1403,6 +1411,8 @@ def get_account_status(self, process_response=None, recv_window: int = None, req
14031411
"method": method,
14041412
"params": params}
14051413

1414+
logger.debug(f"BinanceWebSocketApiApiSpot.get_account_status() - Created payload: {payload}")
1415+
14061416
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
14071417
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
14081418

@@ -1545,6 +1555,8 @@ def get_aggregate_trades(self, process_response=None, end_time: int = None, from
15451555
"method": "trades.aggregate",
15461556
"params": params}
15471557

1558+
logger.debug(f"BinanceWebSocketApiApiSpot.get_aggregate_trades() - Created payload: {payload}")
1559+
15481560
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
15491561
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
15501562

@@ -1653,6 +1665,8 @@ def get_current_average_price(self, process_response=None, request_id: str = Non
16531665
"method": method,
16541666
"params": params}
16551667

1668+
logger.debug(f"BinanceWebSocketApiApiSpot.get_current_average_price() - Created payload: {payload}")
1669+
16561670
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
16571671
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
16581672

@@ -1850,6 +1864,8 @@ def get_exchange_info(self, permissions: list = None, process_response=None, rec
18501864
"method": method,
18511865
"params": params}
18521866

1867+
logger.debug(f"BinanceWebSocketApiApiSpot.get_exchange_info() - Created payload: {payload}")
1868+
18531869
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
18541870
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
18551871

@@ -1971,6 +1987,8 @@ def get_historical_trades(self, process_response=None, from_id: int = None, limi
19711987
"method": "trades.historical",
19721988
"params": params}
19731989

1990+
logger.debug(f"BinanceWebSocketApiApiSpot.get_historical_trades() - Created payload: {payload}")
1991+
19741992
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
19751993
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
19761994

@@ -2136,6 +2154,8 @@ def get_klines(self, process_response=None,
21362154
"method": "klines",
21372155
"params": params}
21382156

2157+
logger.debug(f"BinanceWebSocketApiApiSpot.get_klines() - Created payload: {payload}")
2158+
21392159
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
21402160
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
21412161

@@ -2234,6 +2254,8 @@ def get_listen_key(self, process_response=None, request_id: str = None, return_r
22342254
"method": method,
22352255
"params": params}
22362256

2257+
logger.debug(f"BinanceWebSocketApiApiSpot.get_listen_key() - Created payload: {payload}")
2258+
22372259
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
22382260
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
22392261

@@ -2383,6 +2405,8 @@ def get_open_orders(self, process_response=None, recv_window: int = None, reques
23832405
"method": method,
23842406
"params": params}
23852407

2408+
logger.debug(f"BinanceWebSocketApiApiSpot.get_open_orders() - Created payload: {payload}")
2409+
23862410
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
23872411
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
23882412

@@ -2539,6 +2563,8 @@ def get_order(self, order_id: int = None, orig_client_order_id: str = None, proc
25392563
"method": method,
25402564
"params": params}
25412565

2566+
logger.debug(f"BinanceWebSocketApiApiSpot.get_order() - Created payload: {payload}")
2567+
25422568
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
25432569
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
25442570

@@ -2705,6 +2731,8 @@ def get_order_book(self, process_response=None, limit: int = None, recv_window:
27052731
"method": "depth",
27062732
"params": params}
27072733

2734+
logger.debug(f"BinanceWebSocketApiApiSpot.get_order_book() - Created payload: {payload}")
2735+
27082736
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
27092737
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
27102738

@@ -2825,6 +2853,8 @@ def get_recent_trades(self, process_response=None, limit: int = None,
28252853
"method": "trades.recent",
28262854
"params": params}
28272855

2856+
logger.debug(f"BinanceWebSocketApiApiSpot.get_recent_trades() - Created payload: {payload}")
2857+
28282858
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
28292859
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
28302860

@@ -2916,6 +2946,8 @@ def get_server_time(self, process_response=None, request_id: str = None, return_
29162946
payload = {"id": request_id,
29172947
"method": "time"}
29182948

2949+
logger.debug(f"BinanceWebSocketApiApiSpot.get_server_time() - Created payload: {payload}")
2950+
29192951
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
29202952
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
29212953

@@ -3004,6 +3036,8 @@ def ping(self, process_response=None, request_id: str = None, return_response: b
30043036
payload = {"id": request_id,
30053037
"method": "ping"}
30063038

3039+
logger.debug(f"BinanceWebSocketApiApiSpot.ping() - Created payload: {payload}")
3040+
30073041
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
30083042
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
30093043

@@ -3162,6 +3196,8 @@ def get_ui_klines(self,
31623196
"method": "uiKlines",
31633197
"params": params}
31643198

3199+
logger.debug(f"BinanceWebSocketApiApiSpot.get_ui_klines() - Created payload: {payload}")
3200+
31653201
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
31663202
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
31673203

@@ -3279,6 +3315,8 @@ def get_unfilled_order_count(self, process_response=None, request_id: str = None
32793315
"method": method,
32803316
"params": params}
32813317

3318+
logger.debug(f"BinanceWebSocketApiApiSpot.get_unfilled_order_count() - Created payload: {payload}")
3319+
32823320
if self._manager.send_with_stream(stream_id=stream_id, payload=payload) is False:
32833321
self._manager.add_payload_to_stream(stream_id=stream_id, payload=payload)
32843322

unittest_binance_websocket_api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -633,7 +633,7 @@ def test_live_api_ws(self):
633633
current_average_price = ubwam.api.spot.get_current_average_price(stream_id=api_stream, symbol=market,
634634
return_response=True)
635635
print(f"current_average_price: {current_average_price}\r\n")
636-
order_book = ubwam.api.spot.get_order_book(stream_id=api_stream, symbol=market, limit=2, return_response=True)
636+
order_book = ubwam.api.spot.get_order_book(stream_id=api_stream, symbol=market, limit=10, return_response=True)
637637
if type(order_book) is not bool:
638638
print(f"Orderbook, lastUpdateId={order_book['result']['lastUpdateId']}: {order_book['result']['asks']}, "
639639
f"{order_book['result']['bids']}\r\n")

0 commit comments

Comments
 (0)