From 8c5170caa93193332fd8395ee572d783f96b153a Mon Sep 17 00:00:00 2001 From: Artem Martus Date: Sat, 16 May 2020 15:29:44 +0300 Subject: [PATCH 1/4] Documentation: Binance documentation links fix * client.py links replaced by updated binance variant --- binance/client.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/binance/client.py b/binance/client.py index 432a53a30..d9481ba8b 100644 --- a/binance/client.py +++ b/binance/client.py @@ -3465,7 +3465,7 @@ def futures_exchange_info(self): def futures_order_book(self, **params): """Get the Order Book for the market - https://binance-docs.github.io/apidocs/futures/en/#order-book-market_data + https://binance-docs.github.io/apidocs/futures/en/#order-book """ return self._request_futures_api('get', 'depth', data=params) @@ -3473,7 +3473,7 @@ def futures_order_book(self, **params): def futures_recent_trades(self, **params): """Get recent trades (up to last 500). - https://binance-docs.github.io/apidocs/futures/en/#recent-trades-list-market_data + https://binance-docs.github.io/apidocs/futures/en/#recent-trades-list """ return self._request_futures_api('get', 'trades', data=params) @@ -3490,7 +3490,7 @@ def futures_aggregate_trades(self, **params): """Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same price will have the quantity aggregated. - https://binance-docs.github.io/apidocs/futures/en/#compressed-aggregate-trades-list-market_data + https://binance-docs.github.io/apidocs/futures/en/#compressed-aggregate-trades-list """ return self._request_futures_api('get', 'aggTrades', data=params) @@ -3498,7 +3498,7 @@ def futures_aggregate_trades(self, **params): def futures_klines(self, **params): """Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time. - https://binance-docs.github.io/apidocs/futures/en/#kline-candlestick-data-market_data + https://binance-docs.github.io/apidocs/futures/en/#kline-candlestick-data """ return self._request_futures_api('get', 'klines', data=params) @@ -3506,7 +3506,7 @@ def futures_klines(self, **params): def futures_mark_price(self, **params): """Get Mark Price and Funding Rate - https://binance-docs.github.io/apidocs/futures/en/#mark-price-market_data + https://binance-docs.github.io/apidocs/futures/en/#mark-price """ return self._request_futures_api('get', 'premiumIndex', data=params) @@ -3522,7 +3522,7 @@ def futures_funding_rate(self, **params): def futures_ticker(self, **params): """24 hour rolling window price change statistics. - https://binance-docs.github.io/apidocs/futures/en/#24hr-ticker-price-change-statistics-market_data + https://binance-docs.github.io/apidocs/futures/en/#24hr-ticker-price-change-statistics """ return self._request_futures_api('get', 'ticker/24hr', data=params) @@ -3530,7 +3530,7 @@ def futures_ticker(self, **params): def futures_symbol_ticker(self, **params): """Latest price for a symbol or symbols. - https://binance-docs.github.io/apidocs/futures/en/#symbol-price-ticker-market_data + https://binance-docs.github.io/apidocs/futures/en/#symbol-price-ticker """ return self._request_futures_api('get', 'ticker/price', data=params) @@ -3538,7 +3538,7 @@ def futures_symbol_ticker(self, **params): def futures_orderbook_ticker(self, **params): """Best price/qty on the order book for a symbol or symbols. - https://binance-docs.github.io/apidocs/futures/en/#symbol-order-book-ticker-market_data + https://binance-docs.github.io/apidocs/futures/en/#symbol-order-book-ticker """ return self._request_futures_api('get', 'ticker/bookTicker', data=params) @@ -3546,7 +3546,7 @@ def futures_orderbook_ticker(self, **params): def futures_liquidation_orders(self, **params): """Get all liquidation orders - https://binance-docs.github.io/apidocs/futures/en/#get-all-liquidation-orders-market_data + https://binance-docs.github.io/apidocs/futures/en/#get-all-liquidation-orders """ return self._request_futures_api('get', 'ticker/allForceOrders', data=params) @@ -3554,7 +3554,7 @@ def futures_liquidation_orders(self, **params): def futures_open_interest(self, **params): """Get present open interest of a specific symbol. - https://binance-docs.github.io/apidocs/futures/en/#open-interest-market_data + https://binance-docs.github.io/apidocs/futures/en/#open-interest-statistics-market_data """ return self._request_futures_api('get', 'ticker/openInterest', data=params) @@ -3562,7 +3562,7 @@ def futures_open_interest(self, **params): def futures_leverage_bracket(self, **params): """Notional and Leverage Brackets - https://binance-docs.github.io/apidocs/futures/en/#notional-and-leverage-brackets-market_data + https://binance-docs.github.io/apidocs/futures/en/#notional-and-leverage-brackets-user_data """ return self._request_futures_api('get', 'ticker/leverageBracket', data=params) @@ -3594,7 +3594,7 @@ def futures_get_order(self, **params): def futures_get_open_orders(self, **params): """Get all open orders on a symbol. - https://binance-docs.github.io/apidocs/futures/en/#current-open-orders-user_data + https://binance-docs.github.io/apidocs/futures/en/#current-all-open-orders-user_data """ return self._request_futures_api('get', 'openOrders', True, data=params) @@ -3674,7 +3674,7 @@ def futures_change_position_margin(self, **params): def futures_position_margin_history(self, **params): """Get position margin change history - https://binance-docs.github.io/apidocs/futures/en/#get-postion-margin-change-history-trade + https://binance-docs.github.io/apidocs/futures/en/#get-position-margin-change-history-trade """ return self._request_futures_api('get', 'positionMargin/history', True, data=params) From d114e22543ced15fd9518cb487d7512884247d2e Mon Sep 17 00:00:00 2001 From: Artem Martus Date: Sat, 16 May 2020 16:10:37 +0300 Subject: [PATCH 2/4] ApiURL: Binance 'ticker/*' APIs update * excluding ticker/24h, ticker/bookTicker and ticker/price --- binance/client.py | 16 ++++++++-------- tests/test_api_request_paths.py | 0 2 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 tests/test_api_request_paths.py diff --git a/binance/client.py b/binance/client.py index d9481ba8b..f66b7d10b 100644 --- a/binance/client.py +++ b/binance/client.py @@ -435,7 +435,7 @@ def get_all_tickers(self): :raises: BinanceRequestException, BinanceAPIException """ - return self._get('ticker/allPrices') + return self._get('allPrices') def get_orderbook_tickers(self): """Best price/qty on the order book for all symbols. @@ -466,7 +466,7 @@ def get_orderbook_tickers(self): :raises: BinanceRequestException, BinanceAPIException """ - return self._get('ticker/allBookTickers') + return self._get('allBookTickers') def get_order_book(self, **params): """Get the Order Book for the market @@ -996,7 +996,7 @@ def get_ticker(self, **params): :raises: BinanceRequestException, BinanceAPIException """ - return self._get('ticker/24hr', data=params) + return self._get('24hr', data=params) def get_symbol_ticker(self, **params): """Latest price for a symbol or symbols. @@ -1033,7 +1033,7 @@ def get_symbol_ticker(self, **params): :raises: BinanceRequestException, BinanceAPIException """ - return self._get('ticker/price', data=params, version=self.PRIVATE_API_VERSION) + return self._get('price', data=params, version=self.PRIVATE_API_VERSION) def get_orderbook_ticker(self, **params): """Latest price for a symbol or symbols. @@ -1079,7 +1079,7 @@ def get_orderbook_ticker(self, **params): :raises: BinanceRequestException, BinanceAPIException """ - return self._get('ticker/bookTicker', data=params, version=self.PRIVATE_API_VERSION) + return self._get('bookTicker', data=params, version=self.PRIVATE_API_VERSION) # Account Endpoints @@ -3549,7 +3549,7 @@ def futures_liquidation_orders(self, **params): https://binance-docs.github.io/apidocs/futures/en/#get-all-liquidation-orders """ - return self._request_futures_api('get', 'ticker/allForceOrders', data=params) + return self._request_futures_api('get', 'allForceOrders', data=params) def futures_open_interest(self, **params): """Get present open interest of a specific symbol. @@ -3557,7 +3557,7 @@ def futures_open_interest(self, **params): https://binance-docs.github.io/apidocs/futures/en/#open-interest-statistics-market_data """ - return self._request_futures_api('get', 'ticker/openInterest', data=params) + return self._request_futures_api('get', 'openInterest', data=params) def futures_leverage_bracket(self, **params): """Notional and Leverage Brackets @@ -3565,7 +3565,7 @@ def futures_leverage_bracket(self, **params): https://binance-docs.github.io/apidocs/futures/en/#notional-and-leverage-brackets-user_data """ - return self._request_futures_api('get', 'ticker/leverageBracket', data=params) + return self._request_futures_api('get', 'leverageBracket', data=params) def transfer_history(self, **params): """Get future account transaction history list diff --git a/tests/test_api_request_paths.py b/tests/test_api_request_paths.py new file mode 100644 index 000000000..e69de29bb From 7737290df51052b0cce964f6f478398a0554a045 Mon Sep 17 00:00:00 2001 From: Artem Martus Date: Sat, 16 May 2020 16:15:19 +0300 Subject: [PATCH 3/4] Test: Pretty small test that ensures some paths are working --- tests/test_api_request_paths.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tests/test_api_request_paths.py b/tests/test_api_request_paths.py index e69de29bb..31ce01492 100644 --- a/tests/test_api_request_paths.py +++ b/tests/test_api_request_paths.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python +# coding=utf-8 + +from binance.client import Client +from binance.exceptions import BinanceAPIException, BinanceRequestException, BinanceWithdrawException +import pytest + +client = Client() + + +def test_invalid_json(): + """Test Invalid response Exception""" + + client.get_products() + + +def test_api_exception(): + """Test API response Exception""" + + client.get_server_time() + + +def test_api_exception_invalid_json(): + """Test API response Exception""" + + client.get_server_time() + +def test_api_open_interest(): + """Test API open interest""" + + client.futures_open_interest(symbol="BTCUSDT") \ No newline at end of file From 4eb4fef426c61825c78db531b264e7ba161c20d5 Mon Sep 17 00:00:00 2001 From: Artem Martus Date: Sat, 16 May 2020 16:22:37 +0300 Subject: [PATCH 4/4] Test: fixed naming --- tests/test_api_request_paths.py | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/tests/test_api_request_paths.py b/tests/test_api_request_paths.py index 31ce01492..b23bdc713 100644 --- a/tests/test_api_request_paths.py +++ b/tests/test_api_request_paths.py @@ -8,24 +8,13 @@ client = Client() -def test_invalid_json(): - """Test Invalid response Exception""" - +def test_run_get_products(): client.get_products() -def test_api_exception(): - """Test API response Exception""" - - client.get_server_time() - - -def test_api_exception_invalid_json(): - """Test API response Exception""" - +def test_run_get_server_time(): client.get_server_time() -def test_api_open_interest(): - """Test API open interest""" - client.futures_open_interest(symbol="BTCUSDT") \ No newline at end of file +def test_run_futures_open_interest(): + client.futures_open_interest(symbol="BTCUSDT")