From dca9e9d64ede81c1ec97ce4b34c1090497fa8c91 Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Sat, 16 Oct 2021 14:36:14 +0900 Subject: [PATCH 01/25] Move experimental directory --- pybotters/models/experimental/__init__.py | 7 +++++++ .../{experimental.py => experimental/bybit.py} | 12 +++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 pybotters/models/experimental/__init__.py rename pybotters/models/{experimental.py => experimental/bybit.py} (98%) diff --git a/pybotters/models/experimental/__init__.py b/pybotters/models/experimental/__init__.py new file mode 100644 index 0000000..659875c --- /dev/null +++ b/pybotters/models/experimental/__init__.py @@ -0,0 +1,7 @@ +from typing import Tuple +from .bybit import BybitInverseDataStore, BybitUSDTDataStore + +__all__: Tuple[str, ...] = ( + 'BybitInverseDataStore', + 'BybitUSDTDataStore', +) diff --git a/pybotters/models/experimental.py b/pybotters/models/experimental/bybit.py similarity index 98% rename from pybotters/models/experimental.py rename to pybotters/models/experimental/bybit.py index 1261edb..00c2f3a 100644 --- a/pybotters/models/experimental.py +++ b/pybotters/models/experimental/bybit.py @@ -4,9 +4,9 @@ import aiohttp -from ..store import DataStore, DataStoreManager -from ..typedefs import Item -from ..ws import ClientWebSocketResponse +from ...store import DataStore, DataStoreManager +from ...typedefs import Item +from ...ws import ClientWebSocketResponse logger = logging.getLogger(__name__) @@ -531,6 +531,12 @@ class PositionUSDT(PositionInverse): ], } + def one(self, symbol: str) -> Dict[str, Optional[Item]]: + return { + "Sell": self.get({"symbol": symbol, "side": "Sell"}), + "Buy": self.get({"symbol": symbol, "side": "Buy"}), + } + def both(self, symbol: str) -> Dict[str, Optional[Item]]: return { "Sell": self.get({"symbol": symbol, "side": "Sell"}), From 253bba4342b981ded9059cb866e0e4b256927b58 Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Sat, 16 Oct 2021 15:53:56 +0900 Subject: [PATCH 02/25] Support bitFlyer DataStore (#20) --- pybotters/__init__.py | 2 + pybotters/models/bitflyer.py | 280 +++++++++++++++++++++++++++++++++++ pybotters/store.py | 25 ++++ pybotters/ws.py | 6 +- 4 files changed, 312 insertions(+), 1 deletion(-) create mode 100644 pybotters/models/bitflyer.py diff --git a/pybotters/__init__.py b/pybotters/__init__.py index 6f8fc9e..1677609 100644 --- a/pybotters/__init__.py +++ b/pybotters/__init__.py @@ -9,6 +9,7 @@ from .models import experimental from .models.binance import BinanceDataStore from .models.bitbank import bitbankDataStore +from .models.bitflyer import bitFlyerDataStore from .models.bitmex import BitMEXDataStore from .models.bybit import BybitDataStore from .models.ftx import FTXDataStore @@ -26,6 +27,7 @@ 'FTXDataStore', 'BinanceDataStore', 'bitbankDataStore', + 'bitFlyerDataStore', 'BitMEXDataStore', 'GMOCoinDataStore', 'experimental', diff --git a/pybotters/models/bitflyer.py b/pybotters/models/bitflyer.py new file mode 100644 index 0000000..47843f2 --- /dev/null +++ b/pybotters/models/bitflyer.py @@ -0,0 +1,280 @@ +import asyncio +import logging +import operator +from decimal import Decimal +from typing import Awaitable, Dict, List + +import aiohttp + +from ..store import DataStore, DataStoreManager +from ..typedefs import Item +from ..ws import ClientWebSocketResponse + +logger = logging.getLogger(__name__) + + +class bitFlyerDataStore(DataStoreManager): + def _init(self) -> None: + self.create('board', datastore_class=Board) + self.create('ticker', datastore_class=Ticker) + self.create('executions', datastore_class=Executions) + self.create('childorderevents', datastore_class=ChildOrderEvents) + self.create('childorders', datastore_class=ChildOrders) + self.create('parentorderevents', datastore_class=ParentOrderEvents) + self.create('parentorders', datastore_class=ParentOrders) + self.create('positions', datastore_class=Positions) + self._snapshots = set() + + async def initialize(self, *aws: Awaitable[aiohttp.ClientResponse]) -> None: + for f in asyncio.as_completed(aws): + resp = await f + data = await resp.json() + if resp.url.path == '/v1/me/getchildorders': + self.childorders._onresponse(data) + elif resp.url.path == '/v1/me/getparentorders': + self.parentorders._onresponse(data) + elif resp.url.path == '/v1/me/getpositions': + self.positions._onresponse(data) + + def _onmessage(self, msg: Item, ws: ClientWebSocketResponse) -> None: + if 'error' in msg: + logger.warning(msg) + if 'params' in msg: + channel: str = msg['params']['channel'] + message = msg['params']['message'] + if channel.startswith('lightning_board_'): + if channel.startswith('lightning_board_snapshot_'): + asyncio.create_task( + ws.send_json( + { + 'method': 'unsubscribe', + 'params': {'channel': channel}, + } + ) + ) + product_code = channel.replace('lightning_board_snapshot_', '') + self.board._delete(self.board.find({'product_code': product_code})) + self._snapshots.add(product_code) + else: + product_code = channel.replace('lightning_board_', '') + if product_code in self._snapshots: + self.board._onmessage(product_code, message) + elif channel.startswith('lightning_ticker_'): + self.ticker._onmessage(message) + elif channel.startswith('lightning_executions_'): + self.executions._onmessage(message) + elif channel == 'child_order_events': + self.childorderevents._onmessage(message) + self.childorders._onmessage(message) + self.positions._onmessage(message) + elif channel == 'parent_order_events': + self.parentorderevents._onmessage(message) + self.parentorders._onmessage(message) + + @property + def board(self) -> 'Board': + return self.get('board', Board) + + @property + def ticker(self) -> 'Ticker': + return self.get('ticker', Ticker) + + @property + def executions(self) -> 'Executions': + return self.get('executions', Executions) + + @property + def childorderevents(self) -> 'ChildOrderEvents': + return self.get('childorderevents', ChildOrderEvents) + + @property + def childorders(self) -> 'ChildOrders': + return self.get('childorders', ChildOrders) + + @property + def parentorderevents(self) -> 'ParentOrderEvents': + return self.get('parentorderevents', ParentOrderEvents) + + @property + def parentorders(self) -> 'ParentOrders': + return self.get('parentorders', ParentOrders) + + @property + def positions(self) -> 'Positions': + return self.get('positions', Positions) + + +class Board(DataStore): + _KEYS = ['product_code', 'side', 'price'] + + def _init(self) -> None: + self.mid_price: Dict[str, float] = {} + + def sorted(self, query: Item = {}) -> Dict[str, List[Item]]: + result = {'SELL': [], 'BUY': []} + for item in self: + if all(k in item and query[k] == item[k] for k in query): + result[item['side']].append(item) + result['SELL'].sort(key=lambda x: x['price']) + result['BUY'].sort(key=lambda x: x['price'], reverse=True) + return result + + def _onmessage(self, product_code: str, message: Item) -> None: + self.mid_price[product_code] = message['mid_price'] + for key, side in (('bids', 'BUY'), ('asks', 'SELL')): + for item in message[key]: + if item['size']: + self._insert([{'product_code': product_code, 'side': side, **item}]) + else: + self._delete([{'product_code': product_code, 'side': side, **item}]) + board = self.sorted({'product_code': product_code}) + targets = [] + for side, ope in (('BUY', operator.le), ('SELL', operator.gt)): + for item in board[side]: + if ope(item['price'], message['mid_price']): + break + else: + targets.append(item) + self._delete(targets) + + +class Ticker(DataStore): + _KEYS = ['product_code'] + + def _onmessage(self, message: Item) -> None: + self._update([message]) + + +class Executions(DataStore): + _MAXLEN = 99999 + + def _onmessage(self, message: List[Item]) -> None: + self._insert(message) + + +class ChildOrderEvents(DataStore): + def _onmessage(self, message: List[Item]) -> None: + self._insert(message) + + +class ParentOrderEvents(DataStore): + def _onmessage(self, message: List[Item]) -> None: + self._insert(message) + + +class ChildOrders(DataStore): + _KEYS = ['child_order_acceptance_id'] + + def _onresponse(self, data: List[Item]) -> None: + if data: + self._delete(self.find({'product_code': data[0]['product_code']})) + for item in data: + if item['child_order_state'] == 'ACTIVE': + self._insert([item]) + + def _onmessage(self, message: List[Item]) -> None: + for item in message: + if item['event_type'] == 'ORDER': + self._insert([item]) + elif item['event_type'] in ('CANCEL', 'EXPIRE'): + self._delete([item]) + elif item['event_type'] == 'EXECUTION': + if item['outstanding_size']: + childorder = self.get(item) + if childorder: + if isinstance(childorder['size'], int) and isinstance( + item['size'], int + ): + childorder['size'] -= item['size'] + else: + childorder['size'] = float( + Decimal(str(childorder['size'])) + - Decimal(str(item['size'])) + ) + else: + self._delete([item]) + + +class ParentOrders(DataStore): + _KEYS = ['parent_order_acceptance_id'] + + def _onresponse(self, data: List[Item]) -> None: + if data: + self._delete(self.find({'product_code': data[0]['product_code']})) + for item in data: + if item['parent_order_state'] == 'ACTIVE': + self._insert([item]) + + def _onmessage(self, message: List[Item]) -> None: + for item in message: + if item['event_type'] == 'ORDER': + self._insert([item]) + elif item['event_type'] in ('CANCEL', 'EXPIRE'): + self._delete([item]) + elif item['event_type'] == 'COMPLETE': + parentorder = self.get(item) + if parentorder: + if parentorder['parent_order_type'] in ('IFD', 'IFDOCO'): + if item['parameter_index'] >= 2: + self._delete([item]) + else: + self._delete([item]) + + +class Positions(DataStore): + _COMMON_KEYS = [ + 'product_code', + 'side', + 'price', + 'size', + 'commission', + 'sfd', + ] + + def _common_keys(self, item: Item) -> Item: + return {key: item[key] for key in self._COMMON_KEYS} + + def _onresponse(self, data: List[Item]) -> None: + if data: + self._delete(self.find({'product_code': data[0]['product_code']})) + for item in data: + self._insert([self._common_keys(item)]) + + def _onmessage(self, message: List[Item]) -> None: + for item in message: + if item['event_type'] == 'EXECUTION': + positions = self._find_with_uuid({'product_code': item['product_code']}) + if positions: + if positions[next(iter(positions))]['side'] == item['side']: + self._insert([self._common_keys(item)]) + else: + for uid, pos in positions.items(): + if pos['size'] > item['size']: + if isinstance(pos['size'], int) and isinstance( + item['size'], int + ): + pos['size'] -= item['size'] + else: + pos['size'] = float( + Decimal(str(pos['size'])) + - Decimal(str(item['size'])) + ) + break + else: + if isinstance(pos['size'], int) and isinstance( + item['size'], int + ): + item['size'] -= pos['size'] + else: + item['size'] = float( + Decimal(str(item['size'])) + - Decimal(str(pos['size'])) + ) + self._remove([uid]) + if not pos['size']: + break + else: + try: + self._insert([self._common_keys(item)]) + except KeyError: + pass diff --git a/pybotters/store.py b/pybotters/store.py index 96164c0..5fde3f2 100644 --- a/pybotters/store.py +++ b/pybotters/store.py @@ -103,6 +103,21 @@ def _delete(self, data: List[Item]) -> None: # !TODO! This behaviour might be undesirable. self._set(data) + def _remove(self, uuids: List[uuid.UUID]) -> None: + if self._keys: + for _id in uuids: + if _id in self._data: + item = self._data[_id] + keyhash = self._hash({k: item[k] for k in self._keys}) + del self._data[_id] + del self._index[keyhash] + else: + for _id in uuids: + if _id in self._data: + del self._data[_id] + # !TODO! This behaviour might be undesirable. + self._set([]) + def _clear(self) -> None: self._data.clear() self._index.clear() @@ -160,6 +175,16 @@ def find(self, query: Item = {}) -> List[Item]: else: return list(self) + def _find_with_uuid(self, query: Item = {}) -> Dict[uuid.UUID, Item]: + if query: + return { + _id: item + for _id, item in self._data.items() + if all(k in item and query[k] == item[k] for k in query) + } + else: + return self._data + def _find_and_delete(self, query: Item = {}) -> List[Item]: if query: ret = [ diff --git a/pybotters/ws.py b/pybotters/ws.py index fab6eca..e00fe29 100644 --- a/pybotters/ws.py +++ b/pybotters/ws.py @@ -80,7 +80,11 @@ async def ws_run_forever( logger.error(repr(e)) elif msg.type == aiohttp.WSMsgType.ERROR: break - except (aiohttp.WSServerHandshakeError, aiohttp.ClientOSError) as e: + except ( + aiohttp.WSServerHandshakeError, + aiohttp.ClientOSError, + ConnectionResetError, + ) as e: logger.warning(repr(e)) await cooldown From d9f68f00999ebfdae2cf24d50c9f3614a0663610 Mon Sep 17 00:00:00 2001 From: azriel1rf Date: Fri, 29 Oct 2021 00:50:27 +0900 Subject: [PATCH 03/25] remove empty lists/dicts from the default values. type Optional appropriately --- pybotters/__init__.py | 20 ++++++++++------- pybotters/client.py | 14 +++++++++--- pybotters/models/binance.py | 4 +++- pybotters/models/bitbank.py | 6 ++++-- pybotters/models/bybit.py | 4 +++- pybotters/models/experimental/bybit.py | 4 +++- pybotters/models/ftx.py | 6 ++++-- pybotters/models/gmocoin.py | 17 ++++++--------- pybotters/store.py | 30 +++++++++++++++++++------- tests/test_client.py | 7 +++--- 10 files changed, 72 insertions(+), 40 deletions(-) diff --git a/pybotters/__init__.py b/pybotters/__init__.py index 1677609..a79c9a4 100644 --- a/pybotters/__init__.py +++ b/pybotters/__init__.py @@ -54,9 +54,11 @@ async def _request( *, params: Optional[Mapping[str, str]] = None, data: Any = None, - apis: Union[Dict[str, List[str]], str] = {}, + apis: Optional[Union[Dict[str, List[str]], str]] = None, **kwargs: Any, ) -> SyncClientResponse: + if apis is None: + apis = {} async with Client(apis=apis, response_class=SyncClientResponse) as client: async with client.request( method, url, params=params, data=data, **kwargs @@ -71,7 +73,7 @@ def request( *, params: Optional[Mapping[str, str]] = None, data: Any = None, - apis: Union[Dict[str, List[str]], str] = {}, + apis: Optional[Union[Dict[str, List[str]], str]] = None, **kwargs: Any, ) -> SyncClientResponse: loop = asyncio.get_event_loop() @@ -84,7 +86,7 @@ def get( url: str, *, params: Optional[Mapping[str, str]] = None, - apis: Union[Dict[str, List[str]], str] = {}, + apis: Optional[Union[Dict[str, List[str]], str]] = None, **kwargs: Any, ) -> SyncClientResponse: loop = asyncio.get_event_loop() @@ -97,7 +99,7 @@ def post( url: str, *, data: Any = None, - apis: Union[Dict[str, List[str]], str] = {}, + apis: Optional[Union[Dict[str, List[str]], str]] = None, **kwargs: Any, ) -> SyncClientResponse: loop = asyncio.get_event_loop() @@ -110,7 +112,7 @@ def put( url: str, *, data: Any = None, - apis: Union[Dict[str, List[str]], str] = {}, + apis: Optional[Union[Dict[str, List[str]], str]] = None, **kwargs: Any, ) -> SyncClientResponse: loop = asyncio.get_event_loop() @@ -123,7 +125,7 @@ def delete( url: str, *, data: Any = None, - apis: Union[Dict[str, List[str]], str] = {}, + apis: Optional[Union[Dict[str, List[str]], str]] = None, **kwargs: Any, ) -> SyncClientResponse: loop = asyncio.get_event_loop() @@ -139,9 +141,11 @@ async def _ws_connect( send_json: Any = None, hdlr_str: Optional[WsStrHandler] = None, hdlr_json: Optional[WsJsonHandler] = None, - apis: Union[Dict[str, List[str]], str] = {}, + apis: Optional[Union[Dict[str, List[str]], str]] = None, **kwargs: Any, ) -> None: + if apis is None: + apis = {} async with Client(apis=apis) as client: wstask = await client.ws_connect( url, @@ -161,7 +165,7 @@ def ws_connect( send_json: Any = None, hdlr_str: Optional[WsStrHandler] = None, hdlr_json: Optional[WsJsonHandler] = None, - apis: Union[Dict[str, List[str]], str] = {}, + apis: Optional[Union[Dict[str, List[str]], str]] = None, **kwargs: Any, ) -> None: loop = asyncio.get_event_loop() diff --git a/pybotters/client.py b/pybotters/client.py index f9da3df..56300e6 100644 --- a/pybotters/client.py +++ b/pybotters/client.py @@ -22,7 +22,7 @@ class Client: def __init__( self, - apis: Union[Dict[str, List[str]], str] = {}, + apis: Optional[Union[Dict[str, List[str]], str]] = None, base_url: str = '', **kwargs: Any, ) -> None: @@ -141,7 +141,11 @@ async def ws_connect( return task @staticmethod - def _load_apis(apis: Union[Dict[str, List[str]], str]) -> Dict[str, List[str]]: + def _load_apis( + apis: Optional[Union[Dict[str, List[str]], str]] + ) -> Dict[str, List[str]]: + if apis is None: + apis = {} if isinstance(apis, dict): if apis: return apis @@ -165,7 +169,11 @@ def _load_apis(apis: Union[Dict[str, List[str]], str]) -> Dict[str, List[str]]: return {} @staticmethod - def _encode_apis(apis: Dict[str, List[str]]) -> Dict[str, Tuple[str, bytes]]: + def _encode_apis( + apis: Optional[Dict[str, List[str]]] + ) -> Dict[str, Tuple[str, bytes]]: + if apis is None: + apis = {} encoded = {} for name in apis: if len(apis[name]) == 2: diff --git a/pybotters/models/binance.py b/pybotters/models/binance.py index 17887b4..b0a39e7 100644 --- a/pybotters/models/binance.py +++ b/pybotters/models/binance.py @@ -183,7 +183,9 @@ def _init(self) -> None: self.initialized = False self._buff = deque(maxlen=200) - def sorted(self, query: Item = {}) -> Dict[str, List[float]]: + def sorted(self, query: Optional[Item] = None) -> Dict[str, List[float]]: + if query is None: + query = {} result = {self._MAPSIDE[k]: [] for k in self._MAPSIDE} for item in self: if all(k in item and query[k] == item[k] for k in query): diff --git a/pybotters/models/bitbank.py b/pybotters/models/bitbank.py index e899bea..1812bf4 100644 --- a/pybotters/models/bitbank.py +++ b/pybotters/models/bitbank.py @@ -1,5 +1,5 @@ import json -from typing import Dict, List +from typing import Dict, List, Optional from ..store import DataStore, DataStoreManager from ..typedefs import Item @@ -51,7 +51,9 @@ class Depth(DataStore): _KEYS = ['pair', 'side', 'price'] _BDSIDE = {'sell': 'asks', 'buy': 'bids'} - def sorted(self, query: Item = {}) -> Dict[str, List[float]]: + def sorted(self, query: Optional[Item] = None) -> Dict[str, List[float]]: + if query is None: + query = {} result = {'asks': [], 'bids': []} for item in self: if all(k in item and query[k] == item[k] for k in query): diff --git a/pybotters/models/bybit.py b/pybotters/models/bybit.py index 0a0db2d..5f27d03 100644 --- a/pybotters/models/bybit.py +++ b/pybotters/models/bybit.py @@ -153,7 +153,9 @@ def wallet(self) -> 'Wallet': class OrderBook(DataStore): _KEYS = ['symbol', 'id', 'side'] - def sorted(self, query: Item = {}) -> Dict[str, List[Item]]: + def sorted(self, query: Optional[Item] = None) -> Dict[str, List[Item]]: + if query is None: + query = {} result = {'Sell': [], 'Buy': []} for item in self: if all(k in item and query[k] == item[k] for k in query): diff --git a/pybotters/models/experimental/bybit.py b/pybotters/models/experimental/bybit.py index 00c2f3a..538a1a6 100644 --- a/pybotters/models/experimental/bybit.py +++ b/pybotters/models/experimental/bybit.py @@ -274,7 +274,9 @@ class OrderBookInverse(CastDataStore): ], } - def sorted(self, query: Item = {}) -> Dict[str, List[Item]]: + def sorted(self, query: Optional[Item] = None) -> Dict[str, List[Item]]: + if query is None: + query = {} result = {"Sell": [], "Buy": []} for item in self: if all(k in item and query[k] == item[k] for k in query): diff --git a/pybotters/models/ftx.py b/pybotters/models/ftx.py index 7bf5903..969c82f 100644 --- a/pybotters/models/ftx.py +++ b/pybotters/models/ftx.py @@ -1,6 +1,6 @@ import asyncio import logging -from typing import Any, Awaitable, Dict, List +from typing import Any, Awaitable, Dict, List, Optional import aiohttp @@ -118,7 +118,9 @@ class OrderBook(DataStore): _KEYS = ['market', 'side', 'price'] _BDSIDE = {'sell': 'asks', 'buy': 'bids'} - def sorted(self, query: Item = {}) -> Dict[str, List[float]]: + def sorted(self, query: Optional[Item] = None) -> Dict[str, List[float]]: + if query is None: + query = {} result = {'asks': [], 'bids': []} for item in self: if all(k in item and query[k] == item[k] for k in query): diff --git a/pybotters/models/gmocoin.py b/pybotters/models/gmocoin.py index b196409..c595e8d 100644 --- a/pybotters/models/gmocoin.py +++ b/pybotters/models/gmocoin.py @@ -3,14 +3,7 @@ from datetime import datetime, timezone from decimal import Decimal from enum import Enum, auto -from typing import ( - Any, - Awaitable, - Dict, - List, - Optional, - cast, -) +from typing import Any, Awaitable, Dict, List, Optional, cast import aiohttp from pybotters.store import DataStore, DataStoreManager @@ -294,7 +287,9 @@ def _onmessage(self, mes: Ticker) -> None: class OrderBookStore(DataStore): _KEYS = ["symbol", "side", "price"] - def sorted(self, query: Item = {}) -> Dict[OrderSide, List[OrderLevel]]: + def sorted(self, query: Optional[Item] = None) -> Dict[OrderSide, List[OrderLevel]]: + if query is None: + query = {} result: Dict[OrderSide, List[OrderLevel]] = { OrderSide.BUY: [], OrderSide.SELL: [], @@ -348,7 +343,9 @@ def _onexecution(self, mes: Execution) -> None: class ExecutionStore(DataStore): _KEYS = ["execution_id"] - def sorted(self, query: Item = {}) -> List[Execution]: + def sorted(self, query: Optional[Item] = None) -> List[Execution]: + if query is None: + query = {} result = [] for item in self: if all(k in item and query[k] == item[k] for k in query): diff --git a/pybotters/store.py b/pybotters/store.py index 5fde3f2..737743b 100644 --- a/pybotters/store.py +++ b/pybotters/store.py @@ -2,7 +2,6 @@ import uuid from typing import ( Any, - cast, Dict, Hashable, Iterator, @@ -11,6 +10,7 @@ Tuple, Type, TypeVar, + cast, ) from .typedefs import Item @@ -21,11 +21,15 @@ class DataStore: _KEYS = [] _MAXLEN = 9999 - def __init__(self, keys: List[str] = [], data: List[Item] = []) -> None: + def __init__( + self, keys: Optional[List[str]] = None, data: Optional[List[Item]] = None + ) -> None: self._data: Dict[uuid.UUID, Item] = {} self._index: Dict[int, uuid.UUID] = {} self._keys: Tuple[str, ...] = tuple(keys if keys else self._KEYS) self._events: Dict[asyncio.Event, List[Item]] = {} + if data is None: + data = [] self._insert(data) if hasattr(self, '_init'): getattr(self, '_init')() @@ -165,7 +169,7 @@ def _pop(self, item: Item) -> Optional[Item]: del self._index[keyhash] return ret - def find(self, query: Item = {}) -> List[Item]: + def find(self, query: Optional[Item] = None) -> List[Item]: if query: return [ item @@ -175,7 +179,9 @@ def find(self, query: Item = {}) -> List[Item]: else: return list(self) - def _find_with_uuid(self, query: Item = {}) -> Dict[uuid.UUID, Item]: + def _find_with_uuid(self, query: Optional[Item] = None) -> dict[uuid.UUID, Item]: + if query is None: + query = {} if query: return { _id: item @@ -185,7 +191,9 @@ def _find_with_uuid(self, query: Item = {}) -> Dict[uuid.UUID, Item]: else: return self._data - def _find_and_delete(self, query: Item = {}) -> List[Item]: + def _find_and_delete(self, query: Optional[Item] = None) -> list[Item]: + if query is None: + query = {} if query: ret = [ item @@ -199,7 +207,9 @@ def _find_and_delete(self, query: Item = {}) -> List[Item]: self._clear() return ret - def _set(self, data: List[Item] = None) -> None: + def _set(self, data: Optional[List[Item]] = None) -> None: + if data is None: + data = [] for event in self._events: event.set() self._events[event].extend(data) @@ -234,10 +244,14 @@ def create( self, name: str, *, - keys: List[str] = [], - data: List[Item] = [], + keys: Optional[List[str]] = None, + data: Optional[List[Item]] = None, datastore_class: Type[DataStore] = DataStore, ) -> None: + if keys is None: + keys = [] + if data is None: + data = [] self._stores[name] = datastore_class(keys, data) def get(self, name: str, type: Type[TDataStore]) -> TDataStore: diff --git a/tests/test_client.py b/tests/test_client.py index f758f6f..f308ed4 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -3,11 +3,10 @@ from unittest.mock import mock_open import aiohttp +import pybotters import pytest import pytest_mock -import pybotters - async def test_client(): apis = { @@ -50,7 +49,7 @@ async def test_client_open(mocker: pytest_mock.MockerFixture): async def test_client_warn(mocker: pytest_mock.MockerFixture): apis = {'name1', 'key1', 'secret1'} base_url = 'http://example.com' - async with pybotters.Client(apis=apis, base_url=base_url) as client: + async with pybotters.Client(apis=apis, base_url=base_url) as client: # type: ignore assert isinstance(client._session, aiohttp.ClientSession) assert not client._session.closed assert client._base_url == base_url @@ -149,7 +148,7 @@ async def test_client_ws_connect_json(mocker: pytest_mock.MockerFixture): ret = await client.ws_connect( 'ws://test.org', send_json={'foo': 'bar'}, - hdlr_json=lambda msg, ws: ..., + hdlr_json=lambda msg, ws: None, ) assert coro.called assert task.called From 11098fdc3b5d17134af1945f88c30cf098259906 Mon Sep 17 00:00:00 2001 From: azriel1rf Date: Fri, 29 Oct 2021 00:59:42 +0900 Subject: [PATCH 04/25] * type hinting respecting PEP 585. * replace Dict with Mapping --- pybotters/__init__.py | 22 ++++++------ pybotters/auth.py | 42 +++++++++++------------ pybotters/client.py | 18 +++++----- pybotters/models/binance.py | 14 ++++---- pybotters/models/bitbank.py | 8 ++--- pybotters/models/bitflyer.py | 26 +++++++------- pybotters/models/bybit.py | 42 +++++++++++------------ pybotters/models/experimental/bybit.py | 46 ++++++++++++------------- pybotters/models/ftx.py | 12 +++---- pybotters/models/gmocoin.py | 42 +++++++++++------------ pybotters/store.py | 47 ++++++++++---------------- pybotters/typedefs.py | 4 +-- pybotters/ws.py | 4 +-- 13 files changed, 159 insertions(+), 168 deletions(-) diff --git a/pybotters/__init__.py b/pybotters/__init__.py index a79c9a4..83c3d39 100644 --- a/pybotters/__init__.py +++ b/pybotters/__init__.py @@ -1,5 +1,5 @@ import asyncio -from typing import Any, Dict, List, Mapping, Optional, Tuple, Union +from typing import Any, Mapping, Optional, Tuple, Union import aiohttp from aiohttp import hdrs @@ -54,7 +54,7 @@ async def _request( *, params: Optional[Mapping[str, str]] = None, data: Any = None, - apis: Optional[Union[Dict[str, List[str]], str]] = None, + apis: Optional[Union[dict[str, list[str]], str]] = None, **kwargs: Any, ) -> SyncClientResponse: if apis is None: @@ -73,7 +73,7 @@ def request( *, params: Optional[Mapping[str, str]] = None, data: Any = None, - apis: Optional[Union[Dict[str, List[str]], str]] = None, + apis: Optional[Union[dict[str, list[str]], str]] = None, **kwargs: Any, ) -> SyncClientResponse: loop = asyncio.get_event_loop() @@ -86,7 +86,7 @@ def get( url: str, *, params: Optional[Mapping[str, str]] = None, - apis: Optional[Union[Dict[str, List[str]], str]] = None, + apis: Optional[Union[dict[str, list[str]], str]] = None, **kwargs: Any, ) -> SyncClientResponse: loop = asyncio.get_event_loop() @@ -99,7 +99,7 @@ def post( url: str, *, data: Any = None, - apis: Optional[Union[Dict[str, List[str]], str]] = None, + apis: Optional[Union[dict[str, list[str]], str]] = None, **kwargs: Any, ) -> SyncClientResponse: loop = asyncio.get_event_loop() @@ -112,7 +112,7 @@ def put( url: str, *, data: Any = None, - apis: Optional[Union[Dict[str, List[str]], str]] = None, + apis: Optional[Union[dict[str, list[str]], str]] = None, **kwargs: Any, ) -> SyncClientResponse: loop = asyncio.get_event_loop() @@ -125,7 +125,7 @@ def delete( url: str, *, data: Any = None, - apis: Optional[Union[Dict[str, List[str]], str]] = None, + apis: Optional[Union[dict[str, list[str]], str]] = None, **kwargs: Any, ) -> SyncClientResponse: loop = asyncio.get_event_loop() @@ -137,11 +137,11 @@ def delete( async def _ws_connect( url: str, *, - send_str: Optional[Union[str, List[str]]] = None, + send_str: Optional[Union[str, list[str]]] = None, send_json: Any = None, hdlr_str: Optional[WsStrHandler] = None, hdlr_json: Optional[WsJsonHandler] = None, - apis: Optional[Union[Dict[str, List[str]], str]] = None, + apis: Optional[Union[dict[str, list[str]], str]] = None, **kwargs: Any, ) -> None: if apis is None: @@ -161,11 +161,11 @@ async def _ws_connect( def ws_connect( url: str, *, - send_str: Optional[Union[str, List[str]]] = None, + send_str: Optional[Union[str, list[str]]] = None, send_json: Any = None, hdlr_str: Optional[WsStrHandler] = None, hdlr_json: Optional[WsJsonHandler] = None, - apis: Optional[Union[Dict[str, List[str]], str]] = None, + apis: Optional[Union[dict[str, list[str]], str]] = None, **kwargs: Any, ) -> None: loop = asyncio.get_event_loop() diff --git a/pybotters/auth.py b/pybotters/auth.py index f288ec1..1a085d2 100644 --- a/pybotters/auth.py +++ b/pybotters/auth.py @@ -4,7 +4,7 @@ import json import time from dataclasses import dataclass -from typing import Any, Dict, Tuple +from typing import Any import aiohttp from aiohttp.formdata import FormData @@ -16,10 +16,10 @@ class Auth: @staticmethod - def bybit(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: + def bybit(args: tuple[str, URL], kwargs: dict[str, Any]) -> tuple[str, URL]: method: str = args[0] url: URL = args[1] - data: Dict[str, Any] = kwargs['data'] or {} + data: dict[str, Any] = kwargs['data'] or {} session: aiohttp.ClientSession = kwargs['session'] key: str = session.__dict__['_apis'][Hosts.items[url.host].name][0] @@ -58,10 +58,10 @@ def bybit(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: return args @staticmethod - def binance(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: + def binance(args: tuple[str, URL], kwargs: dict[str, Any]) -> tuple[str, URL]: method: str = args[0] url: URL = args[1] - data: Dict[str, Any] = kwargs['data'] or {} + data: dict[str, Any] = kwargs['data'] or {} headers: CIMultiDict = kwargs['headers'] session: aiohttp.ClientSession = kwargs['session'] @@ -95,10 +95,10 @@ def binance(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: return args @staticmethod - def bitflyer(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: + def bitflyer(args: tuple[str, URL], kwargs: dict[str, Any]) -> tuple[str, URL]: method: str = args[0] url: URL = args[1] - data: Dict[str, Any] = kwargs['data'] or {} + data: dict[str, Any] = kwargs['data'] or {} headers: CIMultiDict = kwargs['headers'] session: aiohttp.ClientSession = kwargs['session'] @@ -118,10 +118,10 @@ def bitflyer(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: return args @staticmethod - def gmocoin(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: + def gmocoin(args: tuple[str, URL], kwargs: dict[str, Any]) -> tuple[str, URL]: method: str = args[0] url: URL = args[1] - data: Dict[str, Any] = kwargs['data'] or {} + data: dict[str, Any] = kwargs['data'] or {} headers: CIMultiDict = kwargs['headers'] session: aiohttp.ClientSession = kwargs['session'] @@ -145,9 +145,9 @@ def gmocoin(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: return args @staticmethod - def liquid(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: + def liquid(args: tuple[str, URL], kwargs: dict[str, Any]) -> tuple[str, URL]: url: URL = args[1] - data: Dict[str, Any] = kwargs['data'] or {} + data: dict[str, Any] = kwargs['data'] or {} headers: CIMultiDict = kwargs['headers'] session: aiohttp.ClientSession = kwargs['session'] @@ -181,10 +181,10 @@ def liquid(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: return args @staticmethod - def bitbank(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: + def bitbank(args: tuple[str, URL], kwargs: dict[str, Any]) -> tuple[str, URL]: method: str = args[0] url: URL = args[1] - data: Dict[str, Any] = kwargs['data'] or {} + data: dict[str, Any] = kwargs['data'] or {} headers: CIMultiDict = kwargs['headers'] session: aiohttp.ClientSession = kwargs['session'] @@ -207,10 +207,10 @@ def bitbank(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: return args @staticmethod - def ftx(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: + def ftx(args: tuple[str, URL], kwargs: dict[str, Any]) -> tuple[str, URL]: method: str = args[0] url: URL = args[1] - data: Dict[str, Any] = kwargs['data'] or {} + data: dict[str, Any] = kwargs['data'] or {} headers: CIMultiDict = kwargs['headers'] session: aiohttp.ClientSession = kwargs['session'] @@ -228,10 +228,10 @@ def ftx(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: return args @staticmethod - def bitmex(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: + def bitmex(args: tuple[str, URL], kwargs: dict[str, Any]) -> tuple[str, URL]: method: str = args[0] url: URL = args[1] - data: Dict[str, Any] = kwargs['data'] or {} + data: dict[str, Any] = kwargs['data'] or {} headers: CIMultiDict = kwargs['headers'] session: aiohttp.ClientSession = kwargs['session'] @@ -251,9 +251,9 @@ def bitmex(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: return args @staticmethod - def phemex(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: + def phemex(args: tuple[str, URL], kwargs: dict[str, Any]) -> tuple[str, URL]: url: URL = args[1] - data: Dict[str, Any] = kwargs['data'] or {} + data: dict[str, Any] = kwargs['data'] or {} headers: CIMultiDict = kwargs['headers'] session: aiohttp.ClientSession = kwargs['session'] @@ -278,9 +278,9 @@ def phemex(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: return args @staticmethod - def coincheck(args: Tuple[str, URL], kwargs: Dict[str, Any]) -> Tuple[str, URL]: + def coincheck(args: tuple[str, URL], kwargs: dict[str, Any]) -> tuple[str, URL]: url: URL = args[1] - data: Dict[str, Any] = kwargs['data'] or {} + data: dict[str, Any] = kwargs['data'] or {} headers: CIMultiDict = kwargs['headers'] session: aiohttp.ClientSession = kwargs['session'] diff --git a/pybotters/client.py b/pybotters/client.py index 56300e6..10428ab 100644 --- a/pybotters/client.py +++ b/pybotters/client.py @@ -2,7 +2,7 @@ import json import logging import os -from typing import Any, Dict, List, Mapping, Optional, Tuple, Union +from typing import Any, Mapping, Optional, Union import aiohttp from aiohttp import hdrs @@ -22,7 +22,7 @@ class Client: def __init__( self, - apis: Optional[Union[Dict[str, List[str]], str]] = None, + apis: Optional[Union[dict[str, list[str]], str]] = None, base_url: str = '', **kwargs: Any, ) -> None: @@ -49,8 +49,8 @@ def _request( method: str, url: str, *, - params: Optional[Dict[str, Any]] = None, - data: Optional[Dict[str, Any]] = None, + params: Optional[Mapping[str, Any]] = None, + data: Optional[dict[str, Any]] = None, auth: Optional[Auth] = Auth, **kwargs: Any, ) -> _RequestContextManager: @@ -118,7 +118,7 @@ async def ws_connect( self, url: str, *, - send_str: Optional[Union[str, List[str]]] = None, + send_str: Optional[Union[str, list[str]]] = None, send_json: Any = None, hdlr_str: Optional[WsStrHandler] = None, hdlr_json: Optional[WsJsonHandler] = None, @@ -142,8 +142,8 @@ async def ws_connect( @staticmethod def _load_apis( - apis: Optional[Union[Dict[str, List[str]], str]] - ) -> Dict[str, List[str]]: + apis: Optional[Union[dict[str, list[str]], str]] + ) -> dict[str, list[str]]: if apis is None: apis = {} if isinstance(apis, dict): @@ -170,8 +170,8 @@ def _load_apis( @staticmethod def _encode_apis( - apis: Optional[Dict[str, List[str]]] - ) -> Dict[str, Tuple[str, bytes]]: + apis: Optional[dict[str, list[str]]] + ) -> dict[str, tuple[str, bytes]]: if apis is None: apis = {} encoded = {} diff --git a/pybotters/models/binance.py b/pybotters/models/binance.py index b0a39e7..43eade6 100644 --- a/pybotters/models/binance.py +++ b/pybotters/models/binance.py @@ -1,6 +1,6 @@ import asyncio from collections import deque -from typing import Any, Awaitable, Dict, List, Optional, Union +from typing import Any, Awaitable, Optional, Union import aiohttp @@ -132,7 +132,7 @@ def _onmessage(self, item: Item) -> None: class MarkPrice(DataStore): _KEYS = ['s'] - def _onmessage(self, data: Union[Item, List[Item]]) -> None: + def _onmessage(self, data: Union[Item, list[Item]]) -> None: if isinstance(data, list): self._update(data) else: @@ -156,7 +156,7 @@ def _onmessage(self, item: Item) -> None: class Ticker(DataStore): _KEYS = ['s'] - def _onmessage(self, data: Union[Item, List[Item]]) -> None: + def _onmessage(self, data: Union[Item, list[Item]]) -> None: if isinstance(data, list): self._update(data) else: @@ -183,7 +183,7 @@ def _init(self) -> None: self.initialized = False self._buff = deque(maxlen=200) - def sorted(self, query: Optional[Item] = None) -> Dict[str, List[float]]: + def sorted(self, query: Optional[Item] = None) -> dict[str, list[float]]: if query is None: query = {} result = {self._MAPSIDE[k]: [] for k in self._MAPSIDE} @@ -222,7 +222,7 @@ class Balance(DataStore): def _onmessage(self, item: Item) -> None: self._update(item['a']['B']) - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: for item in data: self._update( [ @@ -241,7 +241,7 @@ class Position(DataStore): def _onmessage(self, item: Item) -> None: self._update(item['a']['P']) - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: for item in data: self._update( [ @@ -266,7 +266,7 @@ def _onmessage(self, item: Item) -> None: else: self._delete([item['o']]) - def _onresponse(self, symbol: Optional[str], data: List[Item]) -> None: + def _onresponse(self, symbol: Optional[str], data: list[Item]) -> None: if symbol is not None: self._delete(self.find({'symbol': symbol})) else: diff --git a/pybotters/models/bitbank.py b/pybotters/models/bitbank.py index 1812bf4..04f1b54 100644 --- a/pybotters/models/bitbank.py +++ b/pybotters/models/bitbank.py @@ -1,5 +1,5 @@ import json -from typing import Dict, List, Optional +from typing import Optional from ..store import DataStore, DataStoreManager from ..typedefs import Item @@ -40,7 +40,7 @@ def ticker(self) -> 'Ticker': class Transactions(DataStore): _MAXLEN = 99999 - def _onmessage(self, room_name: str, data: List[Item]) -> None: + def _onmessage(self, room_name: str, data: list[Item]) -> None: data = data['transactions'] for item in data: pair = room_name.replace('transactions_', '') @@ -51,7 +51,7 @@ class Depth(DataStore): _KEYS = ['pair', 'side', 'price'] _BDSIDE = {'sell': 'asks', 'buy': 'bids'} - def sorted(self, query: Optional[Item] = None) -> Dict[str, List[float]]: + def sorted(self, query: Optional[Item] = None) -> dict[str, list[float]]: if query is None: query = {} result = {'asks': [], 'bids': []} @@ -62,7 +62,7 @@ def sorted(self, query: Optional[Item] = None) -> Dict[str, List[float]]: result['bids'].sort(key=lambda x: x[0], reverse=True) return result - def _onmessage(self, room_name: str, data: List[Item]) -> None: + def _onmessage(self, room_name: str, data: list[Item]) -> None: if 'whole' in room_name: pair = room_name.replace('depth_whole_', '') result = self.find({'pair': pair}) diff --git a/pybotters/models/bitflyer.py b/pybotters/models/bitflyer.py index 47843f2..ee89d5c 100644 --- a/pybotters/models/bitflyer.py +++ b/pybotters/models/bitflyer.py @@ -2,7 +2,7 @@ import logging import operator from decimal import Decimal -from typing import Awaitable, Dict, List +from typing import Awaitable import aiohttp @@ -108,9 +108,11 @@ class Board(DataStore): _KEYS = ['product_code', 'side', 'price'] def _init(self) -> None: - self.mid_price: Dict[str, float] = {} + self.mid_price: dict[str, float] = {} - def sorted(self, query: Item = {}) -> Dict[str, List[Item]]: + def sorted(self, query: Item = None) -> dict[str, list[Item]]: + if query is None: + query = {} result = {'SELL': [], 'BUY': []} for item in self: if all(k in item and query[k] == item[k] for k in query): @@ -148,31 +150,31 @@ def _onmessage(self, message: Item) -> None: class Executions(DataStore): _MAXLEN = 99999 - def _onmessage(self, message: List[Item]) -> None: + def _onmessage(self, message: list[Item]) -> None: self._insert(message) class ChildOrderEvents(DataStore): - def _onmessage(self, message: List[Item]) -> None: + def _onmessage(self, message: list[Item]) -> None: self._insert(message) class ParentOrderEvents(DataStore): - def _onmessage(self, message: List[Item]) -> None: + def _onmessage(self, message: list[Item]) -> None: self._insert(message) class ChildOrders(DataStore): _KEYS = ['child_order_acceptance_id'] - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: if data: self._delete(self.find({'product_code': data[0]['product_code']})) for item in data: if item['child_order_state'] == 'ACTIVE': self._insert([item]) - def _onmessage(self, message: List[Item]) -> None: + def _onmessage(self, message: list[Item]) -> None: for item in message: if item['event_type'] == 'ORDER': self._insert([item]) @@ -198,14 +200,14 @@ def _onmessage(self, message: List[Item]) -> None: class ParentOrders(DataStore): _KEYS = ['parent_order_acceptance_id'] - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: if data: self._delete(self.find({'product_code': data[0]['product_code']})) for item in data: if item['parent_order_state'] == 'ACTIVE': self._insert([item]) - def _onmessage(self, message: List[Item]) -> None: + def _onmessage(self, message: list[Item]) -> None: for item in message: if item['event_type'] == 'ORDER': self._insert([item]) @@ -234,13 +236,13 @@ class Positions(DataStore): def _common_keys(self, item: Item) -> Item: return {key: item[key] for key in self._COMMON_KEYS} - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: if data: self._delete(self.find({'product_code': data[0]['product_code']})) for item in data: self._insert([self._common_keys(item)]) - def _onmessage(self, message: List[Item]) -> None: + def _onmessage(self, message: list[Item]) -> None: for item in message: if item['event_type'] == 'EXECUTION': positions = self._find_with_uuid({'product_code': item['product_code']}) diff --git a/pybotters/models/bybit.py b/pybotters/models/bybit.py index 5f27d03..532bfa8 100644 --- a/pybotters/models/bybit.py +++ b/pybotters/models/bybit.py @@ -1,6 +1,6 @@ import asyncio import logging -from typing import Any, Awaitable, Dict, List, Optional, Union +from typing import Any, Awaitable, Optional, Union import aiohttp @@ -153,7 +153,7 @@ def wallet(self) -> 'Wallet': class OrderBook(DataStore): _KEYS = ['symbol', 'id', 'side'] - def sorted(self, query: Optional[Item] = None) -> Dict[str, List[Item]]: + def sorted(self, query: Optional[Item] = None) -> dict[str, list[Item]]: if query is None: query = {} result = {'Sell': [], 'Buy': []} @@ -164,7 +164,7 @@ def sorted(self, query: Optional[Item] = None) -> Dict[str, List[Item]]: result['Buy'].sort(key=lambda x: x['id'], reverse=True) return result - def _onmessage(self, topic: str, type_: str, data: Union[List[Item], Item]) -> None: + def _onmessage(self, topic: str, type_: str, data: Union[list[Item], Item]) -> None: if type_ == 'snapshot': symbol = topic.split('.')[-1] # ex: 'orderBookL2_25.BTCUSD' result = self.find({'symbol': symbol}) @@ -182,14 +182,14 @@ class Trade(DataStore): _KEYS = ['trade_id'] _MAXLEN = 99999 - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: self._insert(data) class Insurance(DataStore): _KEYS = ['currency'] - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: self._update(data) @@ -209,14 +209,14 @@ def _onmessage(self, topic: str, type_: str, data: Item) -> None: class Kline(DataStore): _KEYS = ['symbol', 'period', 'start'] - def _onmessage(self, topic: str, data: List[Item]) -> None: + def _onmessage(self, topic: str, data: list[Item]) -> None: topic_split = topic.split('.') # ex:'klineV2.1.BTCUSD' for item in data: item['symbol'] = topic_split[-1] item['period'] = topic_split[-2] self._update(data) - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: for item in data: item["start"] = item.pop("open_time") item["period"] = item.pop("interval") @@ -244,13 +244,13 @@ class PositionInverse(DataStore): def getone(self, symbol: str) -> Optional[Item]: return self.get({'symbol': symbol, 'position_idx': 0}) - def getboth(self, symbol: str) -> Dict[str, Optional[Item]]: + def getboth(self, symbol: str) -> dict[str, Optional[Item]]: return { 'Sell': self.get({'symbol': symbol, 'position_idx': 2}), 'Buy': self.get({'symbol': symbol, 'position_idx': 1}), } - def _onresponse(self, data: Union[Item, List[Item]]) -> None: + def _onresponse(self, data: Union[Item, list[Item]]) -> None: if isinstance(data, dict): self._update([data]) elif isinstance(data, list): @@ -260,47 +260,47 @@ def _onresponse(self, data: Union[Item, List[Item]]) -> None: else: self._update(data) - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: self._update(data) class PositionUSDT(DataStore): _KEYS = ['symbol', 'side'] - def getboth(self, symbol: str) -> Dict[str, Optional[Item]]: + def getboth(self, symbol: str) -> dict[str, Optional[Item]]: return { 'Sell': self.get({'symbol': symbol, 'side': 'Sell'}), 'Buy': self.get({'symbol': symbol, 'side': 'Buy'}), } - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: if len(data): if 'data' in data[0]: self._update([item['data'] for item in data]) else: self._update(data) - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: self._update(data) class Execution(DataStore): _KEYS = ['exec_id'] - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: self._update(data) class Order(DataStore): _KEYS = ['order_id'] - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: if isinstance(data, list): self._update(data) elif isinstance(data, dict): self._update([data]) - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: for item in data: if item['order_status'] in ('Created', 'New', 'PartiallyFilled'): self._update([item]) @@ -311,13 +311,13 @@ def _onmessage(self, data: List[Item]) -> None: class StopOrder(DataStore): _KEYS = ['stop_order_id'] - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: if isinstance(data, list): self._update(data) elif isinstance(data, dict): self._update([data]) - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: for item in data: if 'order_id' in item: item['stop_order_id'] = item.pop('order_id') @@ -332,7 +332,7 @@ def _onmessage(self, data: List[Item]) -> None: class Wallet(DataStore): _KEYS = ['coin'] - def _onresponse(self, data: Dict[str, Item]) -> None: + def _onresponse(self, data: dict[str, Item]) -> None: for coin, item in data.items(): self._update( [ @@ -344,7 +344,7 @@ def _onresponse(self, data: Dict[str, Item]) -> None: ] ) - def _onposition(self, data: List[Item]) -> None: + def _onposition(self, data: list[Item]) -> None: for item in data: symbol: str = item['symbol'] if symbol.endswith('USD'): @@ -361,7 +361,7 @@ def _onposition(self, data: List[Item]) -> None: ] ) - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: for item in data: self._update( [ diff --git a/pybotters/models/experimental/bybit.py b/pybotters/models/experimental/bybit.py index 538a1a6..cfd51e1 100644 --- a/pybotters/models/experimental/bybit.py +++ b/pybotters/models/experimental/bybit.py @@ -1,6 +1,6 @@ import asyncio import logging -from typing import Awaitable, Dict, List, Optional, Union +from typing import Awaitable, Optional, Union import aiohttp @@ -242,7 +242,7 @@ def wallet(self) -> "Wallet": class CastDataStore(DataStore): _CAST_TYPES = {} - def _cast(self, data: List[Item]) -> None: + def _cast(self, data: list[Item]) -> None: for item in data: for x in self._CAST_TYPES: for k in self._CAST_TYPES[x]: @@ -253,15 +253,15 @@ def _cast(self, data: List[Item]) -> None: except TypeError: pass - def _insert(self, data: List[Item]) -> None: + def _insert(self, data: list[Item]) -> None: self._cast(data) super()._insert(data) - def _update(self, data: List[Item]) -> None: + def _update(self, data: list[Item]) -> None: self._cast(data) super()._update(data) - def _delete(self, data: List[Item]) -> None: + def _delete(self, data: list[Item]) -> None: self._cast(data) super()._delete(data) @@ -274,7 +274,7 @@ class OrderBookInverse(CastDataStore): ], } - def sorted(self, query: Optional[Item] = None) -> Dict[str, List[Item]]: + def sorted(self, query: Optional[Item] = None) -> dict[str, list[Item]]: if query is None: query = {} result = {"Sell": [], "Buy": []} @@ -285,7 +285,7 @@ def sorted(self, query: Optional[Item] = None) -> Dict[str, List[Item]]: result["Buy"].sort(key=lambda x: x["id"], reverse=True) return result - def _onmessage(self, topic: str, type_: str, data: Union[List[Item], Item]) -> None: + def _onmessage(self, topic: str, type_: str, data: Union[list[Item], Item]) -> None: if type_ == "snapshot": symbol = topic.split(".")[-1] # ex: "orderBookL2_25.BTCUSD", "orderBook_200.100ms.BTCUSD" @@ -308,7 +308,7 @@ class OrderBookUSDT(OrderBookInverse): ], } - def _onmessage(self, topic: str, type_: str, data: Union[List[Item], Item]) -> None: + def _onmessage(self, topic: str, type_: str, data: Union[list[Item], Item]) -> None: if type_ == "snapshot": symbol = topic.split(".")[-1] # ex: "orderBookL2_25.BTCUSDT", "orderBook_200.100ms.BTCUSDT" @@ -325,7 +325,7 @@ class TradeInverse(CastDataStore): _KEYS = ['trade_id'] _MAXLEN = 99999 - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: self._insert(data) @@ -343,7 +343,7 @@ class TradeUSDT(TradeInverse): class Insurance(CastDataStore): _KEYS = ["currency"] - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: self._update(data) @@ -414,14 +414,14 @@ class InstrumentUSDT(InstrumentInverse): class KlineInverse(CastDataStore): _KEYS = ["start", "symbol", "interval"] - def _onmessage(self, topic: str, data: List[Item]) -> None: + def _onmessage(self, topic: str, data: list[Item]) -> None: topic_split = topic.split(".") # ex:"klineV2.1.BTCUSD" for item in data: item["symbol"] = topic_split[-1] item["interval"] = topic_split[-2] self._update(data) - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: for item in data: item["start"] = item.pop("open_time") self._update(data) @@ -490,13 +490,13 @@ class PositionInverse(CastDataStore): def one(self, symbol: str) -> Optional[Item]: return self.get({"symbol": symbol, "position_idx": 0}) - def both(self, symbol: str) -> Dict[str, Optional[Item]]: + def both(self, symbol: str) -> dict[str, Optional[Item]]: return { "Sell": self.get({"symbol": symbol, "position_idx": 2}), "Buy": self.get({"symbol": symbol, "position_idx": 1}), } - def _onresponse(self, data: Union[Item, List[Item]]) -> None: + def _onresponse(self, data: Union[Item, list[Item]]) -> None: if isinstance(data, dict): self._update([data]) # ex: {"symbol": "BTCUSD", ...} elif isinstance(data, list): @@ -516,7 +516,7 @@ def _onresponse(self, data: Union[Item, List[Item]]) -> None: self._update([item]) # ex: [{"symbol": "BTCUSDT", ...}, ...] - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: self._update(data) @@ -533,13 +533,13 @@ class PositionUSDT(PositionInverse): ], } - def one(self, symbol: str) -> Dict[str, Optional[Item]]: + def one(self, symbol: str) -> dict[str, Optional[Item]]: return { "Sell": self.get({"symbol": symbol, "side": "Sell"}), "Buy": self.get({"symbol": symbol, "side": "Buy"}), } - def both(self, symbol: str) -> Dict[str, Optional[Item]]: + def both(self, symbol: str) -> dict[str, Optional[Item]]: return { "Sell": self.get({"symbol": symbol, "side": "Sell"}), "Buy": self.get({"symbol": symbol, "side": "Buy"}), @@ -555,7 +555,7 @@ class ExecutionInverse(CastDataStore): ], } - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: self._update(data) @@ -577,13 +577,13 @@ class OrderInverse(CastDataStore): ], } - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: if isinstance(data, list): self._update(data) elif isinstance(data, dict): self._update([data]) - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: for item in data: if item["order_status"] in ("Created", "New", "PartiallyFilled"): self._update([item]) @@ -604,13 +604,13 @@ class StopOrderInverse(CastDataStore): ], } - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: if isinstance(data, list): self._update(data) elif isinstance(data, dict): self._update([data]) - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: for item in data: if item["order_status"] in ("Active", "Untriggered"): self._update([item]) @@ -628,6 +628,6 @@ class StopOrderUSDT(StopOrderInverse): class Wallet(CastDataStore): - def _onmessage(self, data: List[Item]) -> None: + def _onmessage(self, data: list[Item]) -> None: self._clear() self._update(data) diff --git a/pybotters/models/ftx.py b/pybotters/models/ftx.py index 969c82f..2270b21 100644 --- a/pybotters/models/ftx.py +++ b/pybotters/models/ftx.py @@ -1,6 +1,6 @@ import asyncio import logging -from typing import Any, Awaitable, Dict, List, Optional +from typing import Any, Awaitable, Optional import aiohttp @@ -109,7 +109,7 @@ def _onmessage(self, item: Item) -> None: class Trades(DataStore): _MAXLEN = 99999 - def _onmessage(self, market: str, data: List[Item]) -> None: + def _onmessage(self, market: str, data: list[Item]) -> None: for item in data: self._insert([{'market': market, **item}]) @@ -118,7 +118,7 @@ class OrderBook(DataStore): _KEYS = ['market', 'side', 'price'] _BDSIDE = {'sell': 'asks', 'buy': 'bids'} - def sorted(self, query: Optional[Item] = None) -> Dict[str, List[float]]: + def sorted(self, query: Optional[Item] = None) -> dict[str, list[float]]: if query is None: query = {} result = {'asks': [], 'bids': []} @@ -129,7 +129,7 @@ def sorted(self, query: Optional[Item] = None) -> Dict[str, List[float]]: result['bids'].sort(key=lambda x: x[0], reverse=True) return result - def _onmessage(self, market: str, data: List[Item]) -> None: + def _onmessage(self, market: str, data: list[Item]) -> None: if data['action'] == 'partial': result = self.find({'market': market}) self._delete(result) @@ -158,7 +158,7 @@ def _onmessage(self, item: Item) -> None: class Orders(DataStore): _KEYS = ['id'] - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: if data: results = self.find({'market': data[0]['market']}) self._delete(results) @@ -177,7 +177,7 @@ class Positions(DataStore): def _init(self) -> None: self._fetch = False - def _onresponse(self, data: List[Item]) -> None: + def _onresponse(self, data: list[Item]) -> None: self._update(data) async def _onfills(self, session: aiohttp.ClientSession) -> None: diff --git a/pybotters/models/gmocoin.py b/pybotters/models/gmocoin.py index c595e8d..97dff27 100644 --- a/pybotters/models/gmocoin.py +++ b/pybotters/models/gmocoin.py @@ -3,7 +3,7 @@ from datetime import datetime, timezone from decimal import Decimal from enum import Enum, auto -from typing import Any, Awaitable, Dict, List, Optional, cast +from typing import Any, Awaitable, Optional, cast import aiohttp from pybotters.store import DataStore, DataStoreManager @@ -204,8 +204,8 @@ class OrderLevel(TypedDict): class OrderBook(TypedDict): - asks: List[OrderLevel] - bids: List[OrderLevel] + asks: list[OrderLevel] + bids: list[OrderLevel] symbol: Symbol timestamp: datetime @@ -287,10 +287,10 @@ def _onmessage(self, mes: Ticker) -> None: class OrderBookStore(DataStore): _KEYS = ["symbol", "side", "price"] - def sorted(self, query: Optional[Item] = None) -> Dict[OrderSide, List[OrderLevel]]: + def sorted(self, query: Optional[Item] = None) -> dict[OrderSide, list[OrderLevel]]: if query is None: query = {} - result: Dict[OrderSide, List[OrderLevel]] = { + result: dict[OrderSide, list[OrderLevel]] = { OrderSide.BUY: [], OrderSide.SELL: [], } @@ -305,7 +305,7 @@ def _onmessage(self, mes: OrderBook) -> None: data = mes["asks"] + mes["bids"] result = self.find({"symbol": mes["symbol"]}) self._delete(result) - self._insert(cast(List[Item], data)) + self._insert(cast(list[Item], data)) class TradeStore(DataStore): @@ -316,8 +316,8 @@ def _onmessage(self, mes: Trade) -> None: class OrderStore(DataStore): _KEYS = ["order_id"] - def _onresponse(self, data: List[Order]) -> None: - self._insert(cast(List[Item], data)) + def _onresponse(self, data: list[Order]) -> None: + self._insert(cast(list[Item], data)) def _onmessage(self, mes: Order) -> None: if mes["order_status"] in (OrderStatus.WAITING, OrderStatus.ORDERED): @@ -343,7 +343,7 @@ def _onexecution(self, mes: Execution) -> None: class ExecutionStore(DataStore): _KEYS = ["execution_id"] - def sorted(self, query: Optional[Item] = None) -> List[Execution]: + def sorted(self, query: Optional[Item] = None) -> list[Execution]: if query is None: query = {} result = [] @@ -353,8 +353,8 @@ def sorted(self, query: Optional[Item] = None) -> List[Execution]: result.sort(key=lambda x: x["execution_id"], reverse=True) return result - def _onresponse(self, data: List[Execution]) -> None: - self._insert(cast(List[Item], data)) + def _onresponse(self, data: list[Execution]) -> None: + self._insert(cast(list[Item], data)) def _onmessage(self, mes: Execution) -> None: self._insert([cast(Item, mes)]) @@ -363,8 +363,8 @@ def _onmessage(self, mes: Execution) -> None: class PositionStore(DataStore): _KEYS = ["position_id"] - def _onresponse(self, data: List[Position]) -> None: - self._update(cast(List[Item], data)) + def _onresponse(self, data: list[Position]) -> None: + self._update(cast(list[Item], data)) def _onmessage(self, mes: Position, type: MessageType) -> None: if type == MessageType.OPR: @@ -378,8 +378,8 @@ def _onmessage(self, mes: Position, type: MessageType) -> None: class PositionSummaryStore(DataStore): _KEYS = ["symbol", "side"] - def _onresponse(self, data: List[PositionSummary]) -> None: - self._update(cast(List[Item], data)) + def _onresponse(self, data: list[PositionSummary]) -> None: + self._update(cast(list[Item], data)) def _onmessage(self, mes: PositionSummary) -> None: self._update([cast(Item, mes)]) @@ -387,7 +387,7 @@ def _onmessage(self, mes: PositionSummary) -> None: class MessageHelper: @staticmethod - def to_tickers(data: List[Item]) -> List["Ticker"]: + def to_tickers(data: list[Item]) -> list["Ticker"]: return [MessageHelper.to_ticker(x) for x in data] @staticmethod @@ -429,7 +429,7 @@ def to_orderbook(data: Item) -> "OrderBook": ) @staticmethod - def to_trades(data: List[Item]) -> List["Trade"]: + def to_trades(data: list[Item]) -> list["Trade"]: return [MessageHelper.to_trade(x) for x in data] @staticmethod @@ -443,7 +443,7 @@ def to_trade(data: Item) -> "Trade": ) @staticmethod - def to_executions(data: List[Item]) -> List["Execution"]: + def to_executions(data: list[Item]) -> list["Execution"]: return [MessageHelper.to_execution(x) for x in data] @staticmethod @@ -478,7 +478,7 @@ def to_execution(data: Item) -> "Execution": ) @staticmethod - def to_orders(data: List[Item]) -> List["Order"]: + def to_orders(data: list[Item]) -> list["Order"]: return [MessageHelper.to_order(x) for x in data] @staticmethod @@ -504,7 +504,7 @@ def to_order(data: Item) -> "Order": ) @staticmethod - def to_positions(data: List[Item]) -> List["Position"]: + def to_positions(data: list[Item]) -> list["Position"]: return [MessageHelper.to_position(x) for x in data] @staticmethod @@ -523,7 +523,7 @@ def to_position(data: Item) -> "Position": ) @staticmethod - def to_position_summaries(data: List[Item]) -> List["PositionSummary"]: + def to_position_summaries(data: list[Item]) -> list["PositionSummary"]: return [MessageHelper.to_position_summary(x) for x in data] @staticmethod diff --git a/pybotters/store.py b/pybotters/store.py index 737743b..5ab806c 100644 --- a/pybotters/store.py +++ b/pybotters/store.py @@ -1,17 +1,6 @@ import asyncio import uuid -from typing import ( - Any, - Dict, - Hashable, - Iterator, - List, - Optional, - Tuple, - Type, - TypeVar, - cast, -) +from typing import Any, Hashable, Iterator, Optional, Type, TypeVar, cast from .typedefs import Item from .ws import ClientWebSocketResponse @@ -22,12 +11,12 @@ class DataStore: _MAXLEN = 9999 def __init__( - self, keys: Optional[List[str]] = None, data: Optional[List[Item]] = None + self, keys: Optional[list[str]] = None, data: Optional[list[Item]] = None ) -> None: - self._data: Dict[uuid.UUID, Item] = {} - self._index: Dict[int, uuid.UUID] = {} - self._keys: Tuple[str, ...] = tuple(keys if keys else self._KEYS) - self._events: Dict[asyncio.Event, List[Item]] = {} + self._data: dict[uuid.UUID, Item] = {} + self._index: dict[int, uuid.UUID] = {} + self._keys: tuple[str, ...] = tuple(keys if keys else self._KEYS) + self._events: dict[asyncio.Event, list[Item]] = {} if data is None: data = [] self._insert(data) @@ -41,10 +30,10 @@ def __iter__(self) -> Iterator[Item]: return iter(self._data.values()) @staticmethod - def _hash(item: Dict[str, Hashable]) -> int: + def _hash(item: dict[str, Hashable]) -> int: return hash(tuple(item.items())) - def _insert(self, data: List[Item]) -> None: + def _insert(self, data: list[Item]) -> None: if self._keys: for item in data: try: @@ -68,7 +57,7 @@ def _insert(self, data: List[Item]) -> None: # !TODO! This behaviour might be undesirable. self._set(data) - def _update(self, data: List[Item]) -> None: + def _update(self, data: list[Item]) -> None: if self._keys: for item in data: try: @@ -92,7 +81,7 @@ def _update(self, data: List[Item]) -> None: # !TODO! This behaviour might be undesirable. self._set(data) - def _delete(self, data: List[Item]) -> None: + def _delete(self, data: list[Item]) -> None: if self._keys: for item in data: try: @@ -107,7 +96,7 @@ def _delete(self, data: List[Item]) -> None: # !TODO! This behaviour might be undesirable. self._set(data) - def _remove(self, uuids: List[uuid.UUID]) -> None: + def _remove(self, uuids: list[uuid.UUID]) -> None: if self._keys: for _id in uuids: if _id in self._data: @@ -169,7 +158,7 @@ def _pop(self, item: Item) -> Optional[Item]: del self._index[keyhash] return ret - def find(self, query: Optional[Item] = None) -> List[Item]: + def find(self, query: Optional[Item] = None) -> list[Item]: if query: return [ item @@ -207,14 +196,14 @@ def _find_and_delete(self, query: Optional[Item] = None) -> list[Item]: self._clear() return ret - def _set(self, data: Optional[List[Item]] = None) -> None: + def _set(self, data: Optional[list[Item]] = None) -> None: if data is None: data = [] for event in self._events: event.set() self._events[event].extend(data) - async def wait(self) -> List[Item]: + async def wait(self) -> list[Item]: event = asyncio.Event() ret = [] self._events[event] = ret @@ -228,8 +217,8 @@ async def wait(self) -> List[Item]: class DataStoreManager: def __init__(self) -> None: - self._stores: Dict[str, DataStore] = {} - self._events: List[asyncio.Event] = [] + self._stores: dict[str, DataStore] = {} + self._events: list[asyncio.Event] = [] self._iscorofunc = asyncio.iscoroutinefunction(self._onmessage) if hasattr(self, '_init'): getattr(self, '_init')() @@ -244,8 +233,8 @@ def create( self, name: str, *, - keys: Optional[List[str]] = None, - data: Optional[List[Item]] = None, + keys: Optional[list[str]] = None, + data: Optional[list[Item]] = None, datastore_class: Type[DataStore] = DataStore, ) -> None: if keys is None: diff --git a/pybotters/typedefs.py b/pybotters/typedefs.py index 3063b92..5d2ca0b 100644 --- a/pybotters/typedefs.py +++ b/pybotters/typedefs.py @@ -1,4 +1,4 @@ -from typing import Any, Callable, Coroutine, Dict, Optional +from typing import Any, Callable, Coroutine, Optional from aiohttp.client_ws import ClientWebSocketResponse @@ -8,4 +8,4 @@ WsJsonHandler = Callable[ [Any, ClientWebSocketResponse], Optional[Coroutine[Any, Any, None]] ] -Item = Dict[str, Any] +Item = dict[str, Any] diff --git a/pybotters/ws.py b/pybotters/ws.py index e00fe29..5a73db2 100644 --- a/pybotters/ws.py +++ b/pybotters/ws.py @@ -7,7 +7,7 @@ import time from dataclasses import dataclass from secrets import token_hex -from typing import Any, List, Optional, Union +from typing import Any, Optional, Union import aiohttp from aiohttp.http_websocket import json @@ -25,7 +25,7 @@ async def ws_run_forever( session: aiohttp.ClientSession, event: asyncio.Event, *, - send_str: Optional[Union[str, List[str]]] = None, + send_str: Optional[Union[str, list[str]]] = None, send_json: Any = None, hdlr_str=None, hdlr_json=None, From 0835ff75f79bb6c6fa726eeb85649e1c65e70f32 Mon Sep 17 00:00:00 2001 From: azriel1rf Date: Fri, 29 Oct 2021 11:41:46 +0900 Subject: [PATCH 05/25] fix annotation compatibility --- pybotters/__init__.py | 2 ++ pybotters/auth.py | 2 ++ pybotters/client.py | 2 ++ pybotters/models/binance.py | 2 ++ pybotters/models/bitbank.py | 2 ++ pybotters/models/bitflyer.py | 2 ++ pybotters/models/bybit.py | 2 ++ pybotters/models/experimental/bybit.py | 2 ++ pybotters/models/ftx.py | 2 ++ pybotters/models/gmocoin.py | 2 ++ pybotters/store.py | 2 ++ pybotters/typedefs.py | 4 ++-- pybotters/ws.py | 2 ++ 13 files changed, 26 insertions(+), 2 deletions(-) diff --git a/pybotters/__init__.py b/pybotters/__init__.py index 83c3d39..4c73d4e 100644 --- a/pybotters/__init__.py +++ b/pybotters/__init__.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import asyncio from typing import Any, Mapping, Optional, Tuple, Union diff --git a/pybotters/auth.py b/pybotters/auth.py index 1a085d2..4246ec5 100644 --- a/pybotters/auth.py +++ b/pybotters/auth.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import base64 import hashlib import hmac diff --git a/pybotters/client.py b/pybotters/client.py index 10428ab..8584ca8 100644 --- a/pybotters/client.py +++ b/pybotters/client.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import asyncio import json import logging diff --git a/pybotters/models/binance.py b/pybotters/models/binance.py index 43eade6..abf3eec 100644 --- a/pybotters/models/binance.py +++ b/pybotters/models/binance.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import asyncio from collections import deque from typing import Any, Awaitable, Optional, Union diff --git a/pybotters/models/bitbank.py b/pybotters/models/bitbank.py index 04f1b54..7926ab9 100644 --- a/pybotters/models/bitbank.py +++ b/pybotters/models/bitbank.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import json from typing import Optional diff --git a/pybotters/models/bitflyer.py b/pybotters/models/bitflyer.py index ee89d5c..b71827c 100644 --- a/pybotters/models/bitflyer.py +++ b/pybotters/models/bitflyer.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import asyncio import logging import operator diff --git a/pybotters/models/bybit.py b/pybotters/models/bybit.py index 532bfa8..f0c5737 100644 --- a/pybotters/models/bybit.py +++ b/pybotters/models/bybit.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import asyncio import logging from typing import Any, Awaitable, Optional, Union diff --git a/pybotters/models/experimental/bybit.py b/pybotters/models/experimental/bybit.py index cfd51e1..211e776 100644 --- a/pybotters/models/experimental/bybit.py +++ b/pybotters/models/experimental/bybit.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import asyncio import logging from typing import Awaitable, Optional, Union diff --git a/pybotters/models/ftx.py b/pybotters/models/ftx.py index 2270b21..eb58ce1 100644 --- a/pybotters/models/ftx.py +++ b/pybotters/models/ftx.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import asyncio import logging from typing import Any, Awaitable, Optional diff --git a/pybotters/models/gmocoin.py b/pybotters/models/gmocoin.py index 97dff27..4c1d0d6 100644 --- a/pybotters/models/gmocoin.py +++ b/pybotters/models/gmocoin.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import asyncio import logging from datetime import datetime, timezone diff --git a/pybotters/store.py b/pybotters/store.py index 5ab806c..3333545 100644 --- a/pybotters/store.py +++ b/pybotters/store.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import asyncio import uuid from typing import Any, Hashable, Iterator, Optional, Type, TypeVar, cast diff --git a/pybotters/typedefs.py b/pybotters/typedefs.py index 5d2ca0b..3063b92 100644 --- a/pybotters/typedefs.py +++ b/pybotters/typedefs.py @@ -1,4 +1,4 @@ -from typing import Any, Callable, Coroutine, Optional +from typing import Any, Callable, Coroutine, Dict, Optional from aiohttp.client_ws import ClientWebSocketResponse @@ -8,4 +8,4 @@ WsJsonHandler = Callable[ [Any, ClientWebSocketResponse], Optional[Coroutine[Any, Any, None]] ] -Item = dict[str, Any] +Item = Dict[str, Any] diff --git a/pybotters/ws.py b/pybotters/ws.py index 5a73db2..11e0e38 100644 --- a/pybotters/ws.py +++ b/pybotters/ws.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import asyncio import base64 import datetime From 727b956e65b3a8bf10925448ccc5cd49f4ca6f77 Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Tue, 2 Nov 2021 00:27:56 +0900 Subject: [PATCH 06/25] Auto conversion of numeric values in strings (#82) --- pybotters/store.py | 34 +++++++++++++++++++++++++++++++--- tests/test_store.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 3 deletions(-) diff --git a/pybotters/store.py b/pybotters/store.py index 3333545..a260366 100644 --- a/pybotters/store.py +++ b/pybotters/store.py @@ -13,12 +13,17 @@ class DataStore: _MAXLEN = 9999 def __init__( - self, keys: Optional[list[str]] = None, data: Optional[list[Item]] = None + self, + keys: Optional[list[str]] = None, + data: Optional[list[Item]] = None, + *, + auto_cast: bool = False, ) -> None: self._data: dict[uuid.UUID, Item] = {} self._index: dict[int, uuid.UUID] = {} self._keys: tuple[str, ...] = tuple(keys if keys else self._KEYS) self._events: dict[asyncio.Event, list[Item]] = {} + self._auto_cast = auto_cast if data is None: data = [] self._insert(data) @@ -35,9 +40,23 @@ def __iter__(self) -> Iterator[Item]: def _hash(item: dict[str, Hashable]) -> int: return hash(tuple(item.items())) + @staticmethod + def _cast_item(item: dict[str, Hashable]) -> None: + for k in item: + if isinstance(item[k], str): + try: + item[k] = int(item[k]) + except ValueError: + try: + item[k] = float(item[k]) + except ValueError: + pass + def _insert(self, data: list[Item]) -> None: if self._keys: for item in data: + if self._auto_cast: + self._cast_item(item) try: keyitem = {k: item[k] for k in self._keys} except KeyError: @@ -53,6 +72,8 @@ def _insert(self, data: list[Item]) -> None: self._sweep_with_key() else: for item in data: + if self._auto_cast: + self._cast_item(item) _id = uuid.uuid4() self._data[_id] = item self._sweep_without_key() @@ -62,6 +83,8 @@ def _insert(self, data: list[Item]) -> None: def _update(self, data: list[Item]) -> None: if self._keys: for item in data: + if self._auto_cast: + self._cast_item(item) try: keyitem = {k: item[k] for k in self._keys} except KeyError: @@ -77,6 +100,8 @@ def _update(self, data: list[Item]) -> None: self._sweep_with_key() else: for item in data: + if self._auto_cast: + self._cast_item(item) _id = uuid.uuid4() self._data[_id] = item self._sweep_without_key() @@ -86,6 +111,8 @@ def _update(self, data: list[Item]) -> None: def _delete(self, data: list[Item]) -> None: if self._keys: for item in data: + if self._auto_cast: + self._cast_item(item) try: keyitem = {k: item[k] for k in self._keys} except KeyError: @@ -218,10 +245,11 @@ async def wait(self) -> list[Item]: class DataStoreManager: - def __init__(self) -> None: + def __init__(self, auto_cast: bool = False) -> None: self._stores: dict[str, DataStore] = {} self._events: list[asyncio.Event] = [] self._iscorofunc = asyncio.iscoroutinefunction(self._onmessage) + self._auto_cast = auto_cast if hasattr(self, '_init'): getattr(self, '_init')() @@ -243,7 +271,7 @@ def create( keys = [] if data is None: data = [] - self._stores[name] = datastore_class(keys, data) + self._stores[name] = datastore_class(keys, data, auto_cast=self._auto_cast) def get(self, name: str, type: Type[TDataStore]) -> TDataStore: return cast(type, self._stores.get(name)) diff --git a/tests/test_store.py b/tests/test_store.py index a9cbdc0..4863dcf 100644 --- a/tests/test_store.py +++ b/tests/test_store.py @@ -16,6 +16,11 @@ def test_interface(): assert 'example' in store assert isinstance(store['example'], pybotters.store.DataStore) + store = pybotters.store.DataStoreManager(auto_cast=True) + assert store._auto_cast is True + store.create('example') + store['example']._auto_cast is True + @pytest.mark.asyncio async def test_interface_onmessage(mocker: pytest_mock.MockerFixture): @@ -66,6 +71,29 @@ def test_hash(): assert isinstance(hashed, int) +def test_cast_item(): + actual = { + 'num_int': 123, + 'num_float': 1.23, + 'str_int': "123", + 'str_float': "1.23", + 'str_orig': "foo", + 'bool': True, + 'null': None, + } + expected = { + 'num_int': 123, + 'num_float': 1.23, + 'str_int': 123, + 'str_float': 1.23, + 'str_orig': "foo", + 'bool': True, + 'null': None, + } + pybotters.store.DataStore._cast_item(actual) + assert expected == actual + + def test_sweep_with_key(): data = [{'foo': f'bar{i}'} for i in range(1000)] ds = pybotters.store.DataStore(keys=['foo'], data=data) From 6ac1e99aa002e714220a2c20b972bb3793f87fb3 Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Tue, 9 Nov 2021 09:45:38 +0900 Subject: [PATCH 07/25] Add product_code to bitFlyerDataStore (#20) --- pybotters/models/bitflyer.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pybotters/models/bitflyer.py b/pybotters/models/bitflyer.py index b71827c..a480bfe 100644 --- a/pybotters/models/bitflyer.py +++ b/pybotters/models/bitflyer.py @@ -64,7 +64,8 @@ def _onmessage(self, msg: Item, ws: ClientWebSocketResponse) -> None: elif channel.startswith('lightning_ticker_'): self.ticker._onmessage(message) elif channel.startswith('lightning_executions_'): - self.executions._onmessage(message) + product_code = channel.replace('lightning_executions_', '') + self.executions._onmessage(product_code, message) elif channel == 'child_order_events': self.childorderevents._onmessage(message) self.childorders._onmessage(message) @@ -152,8 +153,9 @@ def _onmessage(self, message: Item) -> None: class Executions(DataStore): _MAXLEN = 99999 - def _onmessage(self, message: list[Item]) -> None: - self._insert(message) + def _onmessage(self, product_code: str, message: list[Item]) -> None: + for item in message: + self._insert([{'product_code': product_code, **item}]) class ChildOrderEvents(DataStore): From a1c726374bc16deb0e335851a8de4c1dd762594b Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Tue, 9 Nov 2021 09:54:19 +0900 Subject: [PATCH 08/25] Improve websocket error logging --- pybotters/ws.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pybotters/ws.py b/pybotters/ws.py index 11e0e38..7137abb 100644 --- a/pybotters/ws.py +++ b/pybotters/ws.py @@ -5,6 +5,7 @@ import datetime import hashlib import hmac +import inspect import logging import time from dataclasses import dataclass @@ -22,6 +23,14 @@ logger = logging.getLogger(__name__) +def pretty_modulename(e: Exception) -> str: + modulename = e.__class__.__name__ + module = inspect.getmodule(e) + if module: + modulename = f'{module.__name__}.{modulename}' + return modulename + + async def ws_run_forever( url: StrOrURL, session: aiohttp.ClientSession, @@ -66,7 +75,7 @@ async def ws_run_forever( else: hdlr_str(msg.data, ws) except Exception as e: - logger.error(repr(e)) + logger.exception(f'{pretty_modulename(e)}: {e}') if hdlr_json is not None: try: data = msg.json() @@ -79,7 +88,7 @@ async def ws_run_forever( else: hdlr_json(data, ws) except Exception as e: - logger.error(repr(e)) + logger.exception(f'{pretty_modulename(e)}: {e}') elif msg.type == aiohttp.WSMsgType.ERROR: break except ( @@ -87,7 +96,7 @@ async def ws_run_forever( aiohttp.ClientOSError, ConnectionResetError, ) as e: - logger.warning(repr(e)) + logger.warning(f'{pretty_modulename(e)}: {e}') await cooldown From af137400d94ae2e935171d7b8dd786731bd0062f Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Wed, 10 Nov 2021 20:54:21 +0900 Subject: [PATCH 09/25] Remove CastDataStore from Bybit experimental Datastore (#82) --- pybotters/models/experimental/bybit.py | 221 +++---------------------- 1 file changed, 23 insertions(+), 198 deletions(-) diff --git a/pybotters/models/experimental/bybit.py b/pybotters/models/experimental/bybit.py index 211e776..067d4f7 100644 --- a/pybotters/models/experimental/bybit.py +++ b/pybotters/models/experimental/bybit.py @@ -241,40 +241,8 @@ def wallet(self) -> "Wallet": return self.get("wallet", Wallet) -class CastDataStore(DataStore): - _CAST_TYPES = {} - - def _cast(self, data: list[Item]) -> None: - for item in data: - for x in self._CAST_TYPES: - for k in self._CAST_TYPES[x]: - try: - item[k] = x(item[k]) - except KeyError: - pass - except TypeError: - pass - - def _insert(self, data: list[Item]) -> None: - self._cast(data) - super()._insert(data) - - def _update(self, data: list[Item]) -> None: - self._cast(data) - super()._update(data) - - def _delete(self, data: list[Item]) -> None: - self._cast(data) - super()._delete(data) - - -class OrderBookInverse(CastDataStore): +class OrderBookInverse(DataStore): _KEYS = ["symbol", "id", "side"] - _CAST_TYPES = { - float: [ - "price", - ], - } def sorted(self, query: Optional[Item] = None) -> dict[str, list[Item]]: if query is None: @@ -301,15 +269,6 @@ def _onmessage(self, topic: str, type_: str, data: Union[list[Item], Item]) -> N class OrderBookUSDT(OrderBookInverse): - _CAST_TYPES = { - float: [ - "price", - ], - int: [ - "id", - ], - } - def _onmessage(self, topic: str, type_: str, data: Union[list[Item], Item]) -> None: if type_ == "snapshot": symbol = topic.split(".")[-1] @@ -323,7 +282,7 @@ def _onmessage(self, topic: str, type_: str, data: Union[list[Item], Item]) -> N self._insert(data["insert"]) -class TradeInverse(CastDataStore): +class TradeInverse(DataStore): _KEYS = ['trade_id'] _MAXLEN = 99999 @@ -332,38 +291,18 @@ def _onmessage(self, data: list[Item]) -> None: class TradeUSDT(TradeInverse): - _CAST_TYPES = { - float: [ - "price", - ], - int: [ - "trade_time_ms", - ], - } + ... -class Insurance(CastDataStore): +class Insurance(DataStore): _KEYS = ["currency"] def _onmessage(self, data: list[Item]) -> None: self._update(data) -class InstrumentInverse(CastDataStore): +class InstrumentInverse(DataStore): _KEYS = ["symbol"] - _CAST_TYPES = { - float: [ - "last_price", - "bid1_price", - "ask1_price", - "prev_price_24h", - "high_price_24h", - "low_price_24h", - "prev_price_1h", - "mark_price", - "index_price", - ], - } def _onmessage(self, topic: str, type_: str, data: Item) -> None: if type_ == "snapshot": @@ -376,44 +315,10 @@ def _onmessage(self, topic: str, type_: str, data: Item) -> None: class InstrumentUSDT(InstrumentInverse): - _CAST_TYPES = { - float: [ - "last_price", - "prev_price_24h", - "high_price_24h", - "low_price_24h", - "prev_price_1h", - "mark_price", - "index_price", - "bid1_price", - "ask1_price", - ], - int: [ - "last_price_e4", - "prev_price_24h_e4", - "price_24h_pcnt_e6", - "high_price_24h_e4", - "low_price_24h_e4", - "prev_price_1h_e4", - "price_1h_pcnt_e6", - "mark_price_e4", - "index_price_e4", - "open_interest_e8", - "total_turnover_e8", - "turnover_24h_e8", - "total_volume_e8", - "volume_24h_e8", - "funding_rate_e6", - "predicted_funding_rate_e6", - "cross_seq", - "count_down_hour", - "bid1_price_e4", - "ask1_price_e4", - ], - } - - -class KlineInverse(CastDataStore): + ... + + +class KlineInverse(DataStore): _KEYS = ["start", "symbol", "interval"] def _onmessage(self, topic: str, data: list[Item]) -> None: @@ -430,23 +335,10 @@ def _onresponse(self, data: list[Item]) -> None: class KlineUSDT(KlineInverse): - _CAST_TYPES = { - float: [ - "volume", - "turnover", - ], - } - - -class LiquidationInverse(CastDataStore): - _CAST_TYPES = { - float: [ - "price", - ], - int: [ - "qty", - ], - } + ... + + +class LiquidationInverse(DataStore): _MAXLEN = 99999 def _onmessage(self, item: Item) -> None: @@ -454,40 +346,11 @@ def _onmessage(self, item: Item) -> None: class LiquidationUSDT(LiquidationInverse): - _CAST_TYPES = { - float: [ - "price", - "qty", - ], - int: [ - "qty", - ], - } - - -class PositionInverse(CastDataStore): + ... + + +class PositionInverse(DataStore): _KEYS = ["symbol", "position_idx"] - _CAST_TYPES = { - float: [ - "position_value", - "entry_price", - "liq_price", - "bust_price", - "leverage", - "order_margin", - "position_margin", - "available_balance", - "take_profit", - "stop_loss", - "realised_pnl", - "trailing_stop", - "trailing_active", - "wallet_balance", - "occ_closing_fee", - "occ_funding_fee", - "cum_realised_pnl", - ], - } def one(self, symbol: str) -> Optional[Item]: return self.get({"symbol": symbol, "position_idx": 0}) @@ -524,16 +387,6 @@ def _onmessage(self, data: list[Item]) -> None: class PositionUSDT(PositionInverse): _KEYS = ["symbol", "side"] - _CAST_TYPES = { - int: [ - "user_id", - "auto_add_margin", - "position_id", - "position_seq", - "adl_rank_indicator", - "risk_id", - ], - } def one(self, symbol: str) -> dict[str, Optional[Item]]: return { @@ -548,36 +401,19 @@ def both(self, symbol: str) -> dict[str, Optional[Item]]: } -class ExecutionInverse(CastDataStore): +class ExecutionInverse(DataStore): _KEYS = ["exec_id"] - _CAST_TYPES = { - float: [ - "price", - "exec_fee", - ], - } def _onmessage(self, data: list[Item]) -> None: self._update(data) class ExecutionUSDT(ExecutionInverse): - _CAST_TYPES = {} + ... -class OrderInverse(CastDataStore): +class OrderInverse(DataStore): _KEYS = ["order_id"] - _CAST_TYPES = { - float: [ - "price", - "cum_exec_value", - "cum_exec_fee", - "take_profit", - "stop_loss", - "trailing_stop", - "last_exec_price", - ], - } def _onresponse(self, data: list[Item]) -> None: if isinstance(data, list): @@ -594,17 +430,11 @@ def _onmessage(self, data: list[Item]) -> None: class OrderUSDT(OrderInverse): - _CAST_TYPES = {} + ... -class StopOrderInverse(CastDataStore): +class StopOrderInverse(DataStore): _KEYS = ["order_id"] - _CAST_TYPES = { - float: [ - "price", - "trigger_price", - ], - } def _onresponse(self, data: list[Item]) -> None: if isinstance(data, list): @@ -622,14 +452,9 @@ def _onmessage(self, data: list[Item]) -> None: class StopOrderUSDT(StopOrderInverse): _KEYS = ["stop_order_id"] - _CAST_TYPES = { - int: [ - "user_id", - ], - } -class Wallet(CastDataStore): +class Wallet(DataStore): def _onmessage(self, data: list[Item]) -> None: self._clear() self._update(data) From f170ed86f8bf24a681d1b963924a8b219e84ec8b Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Wed, 10 Nov 2021 20:56:32 +0900 Subject: [PATCH 10/25] Move the import of Bybit new DataStore to the top-level ( #82) --- pybotters/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pybotters/__init__.py b/pybotters/__init__.py index 4c73d4e..d51549a 100644 --- a/pybotters/__init__.py +++ b/pybotters/__init__.py @@ -14,6 +14,7 @@ from .models.bitflyer import bitFlyerDataStore from .models.bitmex import BitMEXDataStore from .models.bybit import BybitDataStore +from .models.experimental.bybit import BybitInverseDataStore, BybitUSDTDataStore from .models.ftx import FTXDataStore from .models.gmocoin import GMOCoinDataStore from .typedefs import WsJsonHandler, WsStrHandler @@ -26,6 +27,8 @@ 'put', 'delete', 'BybitDataStore', + 'BybitInverseDataStore', + 'BybitUSDTDataStore', 'FTXDataStore', 'BinanceDataStore', 'bitbankDataStore', From ee20538fb2e1f4b5bd7da7653b2bf7652784c4ed Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Wed, 10 Nov 2021 20:57:09 +0900 Subject: [PATCH 11/25] Add deprecation warning to old Bybit DataStore (#82) --- pybotters/models/bybit.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pybotters/models/bybit.py b/pybotters/models/bybit.py index f0c5737..2bab2d8 100644 --- a/pybotters/models/bybit.py +++ b/pybotters/models/bybit.py @@ -14,6 +14,13 @@ class BybitDataStore(DataStoreManager): + def __new__(cls) -> BybitDataStore: + logger.warning( + 'DEPRECATION WARNING: BybitDataStore will be changed to ' + 'BybitInverseDataStore and BybitUSDTDataStore' + ) + return super().__new__(cls) + def _init(self) -> None: self.create('orderbook', datastore_class=OrderBook) self.create('trade', datastore_class=Trade) From 2d7de63c67cc4de32e9b6763577073cf5c2a9ade Mon Sep 17 00:00:00 2001 From: driller Date: Sun, 31 Oct 2021 20:21:51 +0900 Subject: [PATCH 12/25] add sphinx.ext.autodoc --- docs/_templates/autosummary/class.rst | 29 +++++++++ docs/_templates/autosummary/module.rst | 61 ++++++++++++++++++ docs/conf.py | 9 ++- .../pybotters.SyncClientResponse.rst | 57 +++++++++++++++++ docs/generated/pybotters.auth.Auth.rst | 32 ++++++++++ docs/generated/pybotters.auth.Hosts.rst | 28 +++++++++ docs/generated/pybotters.auth.Item.rst | 29 +++++++++ docs/generated/pybotters.auth.rst | 32 ++++++++++ docs/generated/pybotters.client.Client.rst | 29 +++++++++ docs/generated/pybotters.client.rst | 30 +++++++++ .../pybotters.models.binance.Balance.rst | 25 ++++++++ ...otters.models.binance.BinanceDataStore.rst | 43 +++++++++++++ .../pybotters.models.binance.BookTicker.rst | 25 ++++++++ ...botters.models.binance.ContinuousKline.rst | 25 ++++++++ .../pybotters.models.binance.Kline.rst | 25 ++++++++ .../pybotters.models.binance.Liquidation.rst | 25 ++++++++ .../pybotters.models.binance.MarkPrice.rst | 25 ++++++++ .../pybotters.models.binance.Order.rst | 25 ++++++++ .../pybotters.models.binance.OrderBook.rst | 26 ++++++++ .../pybotters.models.binance.Position.rst | 25 ++++++++ .../pybotters.models.binance.Ticker.rst | 25 ++++++++ .../pybotters.models.binance.Trade.rst | 25 ++++++++ docs/generated/pybotters.models.binance.rst | 41 ++++++++++++ .../pybotters.models.bitbank.Depth.rst | 26 ++++++++ .../pybotters.models.bitbank.Ticker.rst | 25 ++++++++ .../pybotters.models.bitbank.Transactions.rst | 25 ++++++++ ...otters.models.bitbank.bitbankDataStore.rst | 34 ++++++++++ docs/generated/pybotters.models.bitbank.rst | 33 ++++++++++ .../pybotters.models.bitflyer.Board.rst | 26 ++++++++ ...tters.models.bitflyer.ChildOrderEvents.rst | 25 ++++++++ .../pybotters.models.bitflyer.ChildOrders.rst | 25 ++++++++ .../pybotters.models.bitflyer.Executions.rst | 25 ++++++++ ...ters.models.bitflyer.ParentOrderEvents.rst | 25 ++++++++ ...pybotters.models.bitflyer.ParentOrders.rst | 25 ++++++++ .../pybotters.models.bitflyer.Positions.rst | 25 ++++++++ .../pybotters.models.bitflyer.Ticker.rst | 25 ++++++++ ...ters.models.bitflyer.bitFlyerDataStore.rst | 40 ++++++++++++ docs/generated/pybotters.models.bitflyer.rst | 38 +++++++++++ ...ybotters.models.bitmex.BitMEXDataStore.rst | 43 +++++++++++++ docs/generated/pybotters.models.bitmex.rst | 30 +++++++++ .../pybotters.models.bybit.BybitDataStore.rst | 44 +++++++++++++ .../pybotters.models.bybit.Execution.rst | 25 ++++++++ .../pybotters.models.bybit.Instrument.rst | 25 ++++++++ .../pybotters.models.bybit.Insurance.rst | 25 ++++++++ .../pybotters.models.bybit.Kline.rst | 25 ++++++++ .../pybotters.models.bybit.Liquidation.rst | 25 ++++++++ .../pybotters.models.bybit.Order.rst | 25 ++++++++ .../pybotters.models.bybit.OrderBook.rst | 26 ++++++++ ...pybotters.models.bybit.PositionInverse.rst | 27 ++++++++ .../pybotters.models.bybit.PositionUSDT.rst | 26 ++++++++ .../pybotters.models.bybit.StopOrder.rst | 25 ++++++++ .../pybotters.models.bybit.Trade.rst | 25 ++++++++ .../pybotters.models.bybit.Wallet.rst | 25 ++++++++ docs/generated/pybotters.models.bybit.rst | 42 +++++++++++++ ...perimental.bybit.BybitInverseDataStore.rst | 42 +++++++++++++ ....experimental.bybit.BybitUSDTDataStore.rst | 42 +++++++++++++ ...odels.experimental.bybit.CastDataStore.rst | 25 ++++++++ ...ls.experimental.bybit.ExecutionInverse.rst | 25 ++++++++ ...odels.experimental.bybit.ExecutionUSDT.rst | 25 ++++++++ ...s.experimental.bybit.InstrumentInverse.rst | 25 ++++++++ ...dels.experimental.bybit.InstrumentUSDT.rst | 25 ++++++++ ...rs.models.experimental.bybit.Insurance.rst | 25 ++++++++ ...models.experimental.bybit.KlineInverse.rst | 25 ++++++++ ...rs.models.experimental.bybit.KlineUSDT.rst | 25 ++++++++ ....experimental.bybit.LiquidationInverse.rst | 25 ++++++++ ...els.experimental.bybit.LiquidationUSDT.rst | 25 ++++++++ ...ls.experimental.bybit.OrderBookInverse.rst | 26 ++++++++ ...odels.experimental.bybit.OrderBookUSDT.rst | 26 ++++++++ ...models.experimental.bybit.OrderInverse.rst | 25 ++++++++ ...rs.models.experimental.bybit.OrderUSDT.rst | 25 ++++++++ ...els.experimental.bybit.PositionInverse.rst | 27 ++++++++ ...models.experimental.bybit.PositionUSDT.rst | 27 ++++++++ ...ls.experimental.bybit.StopOrderInverse.rst | 25 ++++++++ ...odels.experimental.bybit.StopOrderUSDT.rst | 25 ++++++++ ...models.experimental.bybit.TradeInverse.rst | 25 ++++++++ ...rs.models.experimental.bybit.TradeUSDT.rst | 25 ++++++++ ...tters.models.experimental.bybit.Wallet.rst | 25 ++++++++ .../pybotters.models.experimental.bybit.rst | 52 +++++++++++++++ .../pybotters.models.experimental.rst | 31 +++++++++ .../pybotters.models.ftx.FTXDataStore.rst | 39 ++++++++++++ docs/generated/pybotters.models.ftx.Fills.rst | 25 ++++++++ .../pybotters.models.ftx.Markets.rst | 25 ++++++++ .../pybotters.models.ftx.OrderBook.rst | 26 ++++++++ .../generated/pybotters.models.ftx.Orders.rst | 25 ++++++++ .../pybotters.models.ftx.Positions.rst | 25 ++++++++ .../generated/pybotters.models.ftx.Ticker.rst | 25 ++++++++ .../generated/pybotters.models.ftx.Trades.rst | 25 ++++++++ docs/generated/pybotters.models.ftx.rst | 37 +++++++++++ .../pybotters.models.gmocoin.ApiType.rst | 23 +++++++ .../pybotters.models.gmocoin.CancelType.rst | 35 +++++++++++ .../pybotters.models.gmocoin.Channel.rst | 34 ++++++++++ .../pybotters.models.gmocoin.Execution.rst | 55 ++++++++++++++++ ...ybotters.models.gmocoin.ExecutionStore.rst | 26 ++++++++ ...pybotters.models.gmocoin.ExecutionType.rst | 24 +++++++ ...otters.models.gmocoin.GMOCoinDataStore.rst | 39 ++++++++++++ ...pybotters.models.gmocoin.MessageHelper.rst | 35 +++++++++++ .../pybotters.models.gmocoin.MessageType.rst | 33 ++++++++++ .../pybotters.models.gmocoin.Order.rst | 51 +++++++++++++++ .../pybotters.models.gmocoin.OrderBook.rst | 42 +++++++++++++ ...ybotters.models.gmocoin.OrderBookStore.rst | 26 ++++++++ .../pybotters.models.gmocoin.OrderLevel.rst | 42 +++++++++++++ .../pybotters.models.gmocoin.OrderSide.rst | 23 +++++++ .../pybotters.models.gmocoin.OrderStatus.rst | 28 +++++++++ .../pybotters.models.gmocoin.OrderStore.rst | 25 ++++++++ .../pybotters.models.gmocoin.OrderType.rst | 23 +++++++ .../pybotters.models.gmocoin.Position.rst | 48 ++++++++++++++ ...pybotters.models.gmocoin.PositionStore.rst | 25 ++++++++ ...botters.models.gmocoin.PositionSummary.rst | 45 +++++++++++++ ...rs.models.gmocoin.PositionSummaryStore.rst | 25 ++++++++ .../pybotters.models.gmocoin.SettleType.rst | 24 +++++++ .../pybotters.models.gmocoin.Symbol.rst | 31 +++++++++ .../pybotters.models.gmocoin.Ticker.rst | 46 ++++++++++++++ .../pybotters.models.gmocoin.TickerStore.rst | 25 ++++++++ .../pybotters.models.gmocoin.TimeInForce.rst | 25 ++++++++ .../pybotters.models.gmocoin.Trade.rst | 43 +++++++++++++ .../pybotters.models.gmocoin.TradeStore.rst | 25 ++++++++ docs/generated/pybotters.models.gmocoin.rst | 63 +++++++++++++++++++ docs/generated/pybotters.models.rst | 38 +++++++++++ docs/generated/pybotters.request.rst | 6 ++ docs/generated/pybotters.rst | 56 +++++++++++++++++ docs/generated/pybotters.store.DataStore.rst | 25 ++++++++ .../pybotters.store.DataStoreManager.rst | 26 ++++++++ docs/generated/pybotters.store.rst | 31 +++++++++ docs/generated/pybotters.typedefs.rst | 23 +++++++ docs/generated/pybotters.ws.Auth.rst | 26 ++++++++ docs/generated/pybotters.ws.AuthHosts.rst | 28 +++++++++ .../pybotters.ws.ClientWebSocketResponse.rst | 44 +++++++++++++ docs/generated/pybotters.ws.Heartbeat.rst | 28 +++++++++ .../generated/pybotters.ws.HeartbeatHosts.rst | 28 +++++++++ docs/generated/pybotters.ws.Item.rst | 29 +++++++++ docs/generated/pybotters.ws.RequestLimit.rst | 23 +++++++ .../pybotters.ws.RequestLimitHosts.rst | 28 +++++++++ docs/generated/pybotters.ws.rst | 43 +++++++++++++ docs/index.rst | 9 +++ docs/requirements.txt | 4 +- 135 files changed, 4013 insertions(+), 2 deletions(-) create mode 100644 docs/_templates/autosummary/class.rst create mode 100644 docs/_templates/autosummary/module.rst create mode 100644 docs/generated/pybotters.SyncClientResponse.rst create mode 100644 docs/generated/pybotters.auth.Auth.rst create mode 100644 docs/generated/pybotters.auth.Hosts.rst create mode 100644 docs/generated/pybotters.auth.Item.rst create mode 100644 docs/generated/pybotters.auth.rst create mode 100644 docs/generated/pybotters.client.Client.rst create mode 100644 docs/generated/pybotters.client.rst create mode 100644 docs/generated/pybotters.models.binance.Balance.rst create mode 100644 docs/generated/pybotters.models.binance.BinanceDataStore.rst create mode 100644 docs/generated/pybotters.models.binance.BookTicker.rst create mode 100644 docs/generated/pybotters.models.binance.ContinuousKline.rst create mode 100644 docs/generated/pybotters.models.binance.Kline.rst create mode 100644 docs/generated/pybotters.models.binance.Liquidation.rst create mode 100644 docs/generated/pybotters.models.binance.MarkPrice.rst create mode 100644 docs/generated/pybotters.models.binance.Order.rst create mode 100644 docs/generated/pybotters.models.binance.OrderBook.rst create mode 100644 docs/generated/pybotters.models.binance.Position.rst create mode 100644 docs/generated/pybotters.models.binance.Ticker.rst create mode 100644 docs/generated/pybotters.models.binance.Trade.rst create mode 100644 docs/generated/pybotters.models.binance.rst create mode 100644 docs/generated/pybotters.models.bitbank.Depth.rst create mode 100644 docs/generated/pybotters.models.bitbank.Ticker.rst create mode 100644 docs/generated/pybotters.models.bitbank.Transactions.rst create mode 100644 docs/generated/pybotters.models.bitbank.bitbankDataStore.rst create mode 100644 docs/generated/pybotters.models.bitbank.rst create mode 100644 docs/generated/pybotters.models.bitflyer.Board.rst create mode 100644 docs/generated/pybotters.models.bitflyer.ChildOrderEvents.rst create mode 100644 docs/generated/pybotters.models.bitflyer.ChildOrders.rst create mode 100644 docs/generated/pybotters.models.bitflyer.Executions.rst create mode 100644 docs/generated/pybotters.models.bitflyer.ParentOrderEvents.rst create mode 100644 docs/generated/pybotters.models.bitflyer.ParentOrders.rst create mode 100644 docs/generated/pybotters.models.bitflyer.Positions.rst create mode 100644 docs/generated/pybotters.models.bitflyer.Ticker.rst create mode 100644 docs/generated/pybotters.models.bitflyer.bitFlyerDataStore.rst create mode 100644 docs/generated/pybotters.models.bitflyer.rst create mode 100644 docs/generated/pybotters.models.bitmex.BitMEXDataStore.rst create mode 100644 docs/generated/pybotters.models.bitmex.rst create mode 100644 docs/generated/pybotters.models.bybit.BybitDataStore.rst create mode 100644 docs/generated/pybotters.models.bybit.Execution.rst create mode 100644 docs/generated/pybotters.models.bybit.Instrument.rst create mode 100644 docs/generated/pybotters.models.bybit.Insurance.rst create mode 100644 docs/generated/pybotters.models.bybit.Kline.rst create mode 100644 docs/generated/pybotters.models.bybit.Liquidation.rst create mode 100644 docs/generated/pybotters.models.bybit.Order.rst create mode 100644 docs/generated/pybotters.models.bybit.OrderBook.rst create mode 100644 docs/generated/pybotters.models.bybit.PositionInverse.rst create mode 100644 docs/generated/pybotters.models.bybit.PositionUSDT.rst create mode 100644 docs/generated/pybotters.models.bybit.StopOrder.rst create mode 100644 docs/generated/pybotters.models.bybit.Trade.rst create mode 100644 docs/generated/pybotters.models.bybit.Wallet.rst create mode 100644 docs/generated/pybotters.models.bybit.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.BybitInverseDataStore.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.BybitUSDTDataStore.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.CastDataStore.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.ExecutionInverse.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.ExecutionUSDT.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.InstrumentInverse.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.InstrumentUSDT.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.Insurance.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.KlineInverse.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.KlineUSDT.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.LiquidationInverse.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.LiquidationUSDT.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.OrderBookInverse.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.OrderBookUSDT.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.OrderInverse.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.OrderUSDT.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.PositionInverse.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.PositionUSDT.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.StopOrderInverse.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.StopOrderUSDT.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.TradeInverse.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.TradeUSDT.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.Wallet.rst create mode 100644 docs/generated/pybotters.models.experimental.bybit.rst create mode 100644 docs/generated/pybotters.models.experimental.rst create mode 100644 docs/generated/pybotters.models.ftx.FTXDataStore.rst create mode 100644 docs/generated/pybotters.models.ftx.Fills.rst create mode 100644 docs/generated/pybotters.models.ftx.Markets.rst create mode 100644 docs/generated/pybotters.models.ftx.OrderBook.rst create mode 100644 docs/generated/pybotters.models.ftx.Orders.rst create mode 100644 docs/generated/pybotters.models.ftx.Positions.rst create mode 100644 docs/generated/pybotters.models.ftx.Ticker.rst create mode 100644 docs/generated/pybotters.models.ftx.Trades.rst create mode 100644 docs/generated/pybotters.models.ftx.rst create mode 100644 docs/generated/pybotters.models.gmocoin.ApiType.rst create mode 100644 docs/generated/pybotters.models.gmocoin.CancelType.rst create mode 100644 docs/generated/pybotters.models.gmocoin.Channel.rst create mode 100644 docs/generated/pybotters.models.gmocoin.Execution.rst create mode 100644 docs/generated/pybotters.models.gmocoin.ExecutionStore.rst create mode 100644 docs/generated/pybotters.models.gmocoin.ExecutionType.rst create mode 100644 docs/generated/pybotters.models.gmocoin.GMOCoinDataStore.rst create mode 100644 docs/generated/pybotters.models.gmocoin.MessageHelper.rst create mode 100644 docs/generated/pybotters.models.gmocoin.MessageType.rst create mode 100644 docs/generated/pybotters.models.gmocoin.Order.rst create mode 100644 docs/generated/pybotters.models.gmocoin.OrderBook.rst create mode 100644 docs/generated/pybotters.models.gmocoin.OrderBookStore.rst create mode 100644 docs/generated/pybotters.models.gmocoin.OrderLevel.rst create mode 100644 docs/generated/pybotters.models.gmocoin.OrderSide.rst create mode 100644 docs/generated/pybotters.models.gmocoin.OrderStatus.rst create mode 100644 docs/generated/pybotters.models.gmocoin.OrderStore.rst create mode 100644 docs/generated/pybotters.models.gmocoin.OrderType.rst create mode 100644 docs/generated/pybotters.models.gmocoin.Position.rst create mode 100644 docs/generated/pybotters.models.gmocoin.PositionStore.rst create mode 100644 docs/generated/pybotters.models.gmocoin.PositionSummary.rst create mode 100644 docs/generated/pybotters.models.gmocoin.PositionSummaryStore.rst create mode 100644 docs/generated/pybotters.models.gmocoin.SettleType.rst create mode 100644 docs/generated/pybotters.models.gmocoin.Symbol.rst create mode 100644 docs/generated/pybotters.models.gmocoin.Ticker.rst create mode 100644 docs/generated/pybotters.models.gmocoin.TickerStore.rst create mode 100644 docs/generated/pybotters.models.gmocoin.TimeInForce.rst create mode 100644 docs/generated/pybotters.models.gmocoin.Trade.rst create mode 100644 docs/generated/pybotters.models.gmocoin.TradeStore.rst create mode 100644 docs/generated/pybotters.models.gmocoin.rst create mode 100644 docs/generated/pybotters.models.rst create mode 100644 docs/generated/pybotters.request.rst create mode 100644 docs/generated/pybotters.rst create mode 100644 docs/generated/pybotters.store.DataStore.rst create mode 100644 docs/generated/pybotters.store.DataStoreManager.rst create mode 100644 docs/generated/pybotters.store.rst create mode 100644 docs/generated/pybotters.typedefs.rst create mode 100644 docs/generated/pybotters.ws.Auth.rst create mode 100644 docs/generated/pybotters.ws.AuthHosts.rst create mode 100644 docs/generated/pybotters.ws.ClientWebSocketResponse.rst create mode 100644 docs/generated/pybotters.ws.Heartbeat.rst create mode 100644 docs/generated/pybotters.ws.HeartbeatHosts.rst create mode 100644 docs/generated/pybotters.ws.Item.rst create mode 100644 docs/generated/pybotters.ws.RequestLimit.rst create mode 100644 docs/generated/pybotters.ws.RequestLimitHosts.rst create mode 100644 docs/generated/pybotters.ws.rst diff --git a/docs/_templates/autosummary/class.rst b/docs/_templates/autosummary/class.rst new file mode 100644 index 0000000..151a51a --- /dev/null +++ b/docs/_templates/autosummary/class.rst @@ -0,0 +1,29 @@ +{{ fullname | escape | underline}} + +.. currentmodule:: {{ module }} + +.. autoclass:: {{ objname }} + :members: + + {% block methods %} + + {% if methods %} + .. rubric:: {{ _('Methods') }} + + .. autosummary:: + {% for item in methods %} + ~{{ name }}.{{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block attributes %} + {% if attributes %} + .. rubric:: {{ _('Attributes') }} + + .. autosummary:: + {% for item in attributes %} + ~{{ name }}.{{ item }} + {%- endfor %} + {% endif %} + {% endblock %} diff --git a/docs/_templates/autosummary/module.rst b/docs/_templates/autosummary/module.rst new file mode 100644 index 0000000..4cb0abc --- /dev/null +++ b/docs/_templates/autosummary/module.rst @@ -0,0 +1,61 @@ +{{ fullname | escape | underline}} + +.. automodule:: {{ fullname }} + + {% block attributes %} + {% if attributes %} + .. rubric:: {{ _('Module Attributes') }} + + .. autosummary:: + {% for item in attributes %} + {{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block functions %} + {% if functions %} + .. rubric:: {{ _('Functions') }} + + .. autosummary:: + {% for item in functions %} + {{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block classes %} + {% if classes %} + .. rubric:: {{ _('Classes') }} + + .. autosummary:: + :toctree: + {% for item in classes %} + {{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block exceptions %} + {% if exceptions %} + .. rubric:: {{ _('Exceptions') }} + + .. autosummary:: + {% for item in exceptions %} + {{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + +{% block modules %} +{% if modules %} +.. rubric:: Modules + +.. autosummary:: + :toctree: + :recursive: +{% for item in modules %} + {{ item }} +{%- endfor %} +{% endif %} +{% endblock %} diff --git a/docs/conf.py b/docs/conf.py index e8e1fcc..d1b63e8 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -13,7 +13,10 @@ # import os # import sys # sys.path.insert(0, os.path.abspath('.')) +from pathlib import Path +import sys +sys.path.insert(0, str(Path(__file__).parent.parent.resolve())) # -- Project information ----------------------------------------------------- @@ -27,7 +30,7 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = [] +extensions = ["sphinx.ext.autodoc", 'sphinx.ext.autosummary'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -58,3 +61,7 @@ html_static_path = ['_static'] source_suffix = [".rst"] + +autoclass_content = 'both' + +templates_path = ['_templates'] \ No newline at end of file diff --git a/docs/generated/pybotters.SyncClientResponse.rst b/docs/generated/pybotters.SyncClientResponse.rst new file mode 100644 index 0000000..acfcef6 --- /dev/null +++ b/docs/generated/pybotters.SyncClientResponse.rst @@ -0,0 +1,57 @@ +pybotters.SyncClientResponse +============================ + +.. currentmodule:: pybotters + +.. autoclass:: SyncClientResponse + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~SyncClientResponse.__init__ + ~SyncClientResponse.close + ~SyncClientResponse.get_encoding + ~SyncClientResponse.json + ~SyncClientResponse.raise_for_status + ~SyncClientResponse.read + ~SyncClientResponse.release + ~SyncClientResponse.start + ~SyncClientResponse.text + ~SyncClientResponse.wait_for_close + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~SyncClientResponse.ATTRS + ~SyncClientResponse.charset + ~SyncClientResponse.closed + ~SyncClientResponse.connection + ~SyncClientResponse.content + ~SyncClientResponse.content_disposition + ~SyncClientResponse.content_length + ~SyncClientResponse.content_type + ~SyncClientResponse.headers + ~SyncClientResponse.history + ~SyncClientResponse.host + ~SyncClientResponse.links + ~SyncClientResponse.ok + ~SyncClientResponse.raw_headers + ~SyncClientResponse.real_url + ~SyncClientResponse.reason + ~SyncClientResponse.request_info + ~SyncClientResponse.status + ~SyncClientResponse.url + ~SyncClientResponse.url_obj + ~SyncClientResponse.version + + \ No newline at end of file diff --git a/docs/generated/pybotters.auth.Auth.rst b/docs/generated/pybotters.auth.Auth.rst new file mode 100644 index 0000000..4101e96 --- /dev/null +++ b/docs/generated/pybotters.auth.Auth.rst @@ -0,0 +1,32 @@ +pybotters.auth.Auth +=================== + +.. currentmodule:: pybotters.auth + +.. autoclass:: Auth + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Auth.__init__ + ~Auth.binance + ~Auth.bitbank + ~Auth.bitflyer + ~Auth.bitmex + ~Auth.bybit + ~Auth.coincheck + ~Auth.ftx + ~Auth.gmocoin + ~Auth.liquid + ~Auth.phemex + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.auth.Hosts.rst b/docs/generated/pybotters.auth.Hosts.rst new file mode 100644 index 0000000..94f0aa5 --- /dev/null +++ b/docs/generated/pybotters.auth.Hosts.rst @@ -0,0 +1,28 @@ +pybotters.auth.Hosts +==================== + +.. currentmodule:: pybotters.auth + +.. autoclass:: Hosts + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Hosts.__init__ + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~Hosts.items + + \ No newline at end of file diff --git a/docs/generated/pybotters.auth.Item.rst b/docs/generated/pybotters.auth.Item.rst new file mode 100644 index 0000000..1b10295 --- /dev/null +++ b/docs/generated/pybotters.auth.Item.rst @@ -0,0 +1,29 @@ +pybotters.auth.Item +=================== + +.. currentmodule:: pybotters.auth + +.. autoclass:: Item + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Item.__init__ + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~Item.name + ~Item.func + + \ No newline at end of file diff --git a/docs/generated/pybotters.auth.rst b/docs/generated/pybotters.auth.rst new file mode 100644 index 0000000..9934a55 --- /dev/null +++ b/docs/generated/pybotters.auth.rst @@ -0,0 +1,32 @@ +pybotters.auth +============== + +.. automodule:: pybotters.auth + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + Auth + Hosts + Item + + + + + + + + + diff --git a/docs/generated/pybotters.client.Client.rst b/docs/generated/pybotters.client.Client.rst new file mode 100644 index 0000000..dde404f --- /dev/null +++ b/docs/generated/pybotters.client.Client.rst @@ -0,0 +1,29 @@ +pybotters.client.Client +======================= + +.. currentmodule:: pybotters.client + +.. autoclass:: Client + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Client.__init__ + ~Client.close + ~Client.delete + ~Client.get + ~Client.post + ~Client.put + ~Client.request + ~Client.ws_connect + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.client.rst b/docs/generated/pybotters.client.rst new file mode 100644 index 0000000..9a473b7 --- /dev/null +++ b/docs/generated/pybotters.client.rst @@ -0,0 +1,30 @@ +pybotters.client +================ + +.. automodule:: pybotters.client + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + Client + + + + + + + + + diff --git a/docs/generated/pybotters.models.binance.Balance.rst b/docs/generated/pybotters.models.binance.Balance.rst new file mode 100644 index 0000000..c027cfe --- /dev/null +++ b/docs/generated/pybotters.models.binance.Balance.rst @@ -0,0 +1,25 @@ +pybotters.models.binance.Balance +================================ + +.. currentmodule:: pybotters.models.binance + +.. autoclass:: Balance + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Balance.__init__ + ~Balance.find + ~Balance.get + ~Balance.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.BinanceDataStore.rst b/docs/generated/pybotters.models.binance.BinanceDataStore.rst new file mode 100644 index 0000000..6607c0d --- /dev/null +++ b/docs/generated/pybotters.models.binance.BinanceDataStore.rst @@ -0,0 +1,43 @@ +pybotters.models.binance.BinanceDataStore +========================================= + +.. currentmodule:: pybotters.models.binance + +.. autoclass:: BinanceDataStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~BinanceDataStore.__init__ + ~BinanceDataStore.create + ~BinanceDataStore.get + ~BinanceDataStore.initialize + ~BinanceDataStore.onmessage + ~BinanceDataStore.wait + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~BinanceDataStore.balance + ~BinanceDataStore.bookticker + ~BinanceDataStore.continuouskline + ~BinanceDataStore.kline + ~BinanceDataStore.liquidation + ~BinanceDataStore.markprice + ~BinanceDataStore.order + ~BinanceDataStore.orderbook + ~BinanceDataStore.position + ~BinanceDataStore.ticker + ~BinanceDataStore.trade + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.BookTicker.rst b/docs/generated/pybotters.models.binance.BookTicker.rst new file mode 100644 index 0000000..528f469 --- /dev/null +++ b/docs/generated/pybotters.models.binance.BookTicker.rst @@ -0,0 +1,25 @@ +pybotters.models.binance.BookTicker +=================================== + +.. currentmodule:: pybotters.models.binance + +.. autoclass:: BookTicker + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~BookTicker.__init__ + ~BookTicker.find + ~BookTicker.get + ~BookTicker.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.ContinuousKline.rst b/docs/generated/pybotters.models.binance.ContinuousKline.rst new file mode 100644 index 0000000..94d43d2 --- /dev/null +++ b/docs/generated/pybotters.models.binance.ContinuousKline.rst @@ -0,0 +1,25 @@ +pybotters.models.binance.ContinuousKline +======================================== + +.. currentmodule:: pybotters.models.binance + +.. autoclass:: ContinuousKline + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~ContinuousKline.__init__ + ~ContinuousKline.find + ~ContinuousKline.get + ~ContinuousKline.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.Kline.rst b/docs/generated/pybotters.models.binance.Kline.rst new file mode 100644 index 0000000..fd85cdb --- /dev/null +++ b/docs/generated/pybotters.models.binance.Kline.rst @@ -0,0 +1,25 @@ +pybotters.models.binance.Kline +============================== + +.. currentmodule:: pybotters.models.binance + +.. autoclass:: Kline + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Kline.__init__ + ~Kline.find + ~Kline.get + ~Kline.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.Liquidation.rst b/docs/generated/pybotters.models.binance.Liquidation.rst new file mode 100644 index 0000000..b2a5a8b --- /dev/null +++ b/docs/generated/pybotters.models.binance.Liquidation.rst @@ -0,0 +1,25 @@ +pybotters.models.binance.Liquidation +==================================== + +.. currentmodule:: pybotters.models.binance + +.. autoclass:: Liquidation + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Liquidation.__init__ + ~Liquidation.find + ~Liquidation.get + ~Liquidation.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.MarkPrice.rst b/docs/generated/pybotters.models.binance.MarkPrice.rst new file mode 100644 index 0000000..c01ccfb --- /dev/null +++ b/docs/generated/pybotters.models.binance.MarkPrice.rst @@ -0,0 +1,25 @@ +pybotters.models.binance.MarkPrice +================================== + +.. currentmodule:: pybotters.models.binance + +.. autoclass:: MarkPrice + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~MarkPrice.__init__ + ~MarkPrice.find + ~MarkPrice.get + ~MarkPrice.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.Order.rst b/docs/generated/pybotters.models.binance.Order.rst new file mode 100644 index 0000000..f3b2763 --- /dev/null +++ b/docs/generated/pybotters.models.binance.Order.rst @@ -0,0 +1,25 @@ +pybotters.models.binance.Order +============================== + +.. currentmodule:: pybotters.models.binance + +.. autoclass:: Order + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Order.__init__ + ~Order.find + ~Order.get + ~Order.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.OrderBook.rst b/docs/generated/pybotters.models.binance.OrderBook.rst new file mode 100644 index 0000000..4278f15 --- /dev/null +++ b/docs/generated/pybotters.models.binance.OrderBook.rst @@ -0,0 +1,26 @@ +pybotters.models.binance.OrderBook +================================== + +.. currentmodule:: pybotters.models.binance + +.. autoclass:: OrderBook + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~OrderBook.__init__ + ~OrderBook.find + ~OrderBook.get + ~OrderBook.sorted + ~OrderBook.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.Position.rst b/docs/generated/pybotters.models.binance.Position.rst new file mode 100644 index 0000000..07aa331 --- /dev/null +++ b/docs/generated/pybotters.models.binance.Position.rst @@ -0,0 +1,25 @@ +pybotters.models.binance.Position +================================= + +.. currentmodule:: pybotters.models.binance + +.. autoclass:: Position + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Position.__init__ + ~Position.find + ~Position.get + ~Position.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.Ticker.rst b/docs/generated/pybotters.models.binance.Ticker.rst new file mode 100644 index 0000000..90321c7 --- /dev/null +++ b/docs/generated/pybotters.models.binance.Ticker.rst @@ -0,0 +1,25 @@ +pybotters.models.binance.Ticker +=============================== + +.. currentmodule:: pybotters.models.binance + +.. autoclass:: Ticker + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Ticker.__init__ + ~Ticker.find + ~Ticker.get + ~Ticker.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.Trade.rst b/docs/generated/pybotters.models.binance.Trade.rst new file mode 100644 index 0000000..9768d83 --- /dev/null +++ b/docs/generated/pybotters.models.binance.Trade.rst @@ -0,0 +1,25 @@ +pybotters.models.binance.Trade +============================== + +.. currentmodule:: pybotters.models.binance + +.. autoclass:: Trade + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Trade.__init__ + ~Trade.find + ~Trade.get + ~Trade.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.rst b/docs/generated/pybotters.models.binance.rst new file mode 100644 index 0000000..72fe5e5 --- /dev/null +++ b/docs/generated/pybotters.models.binance.rst @@ -0,0 +1,41 @@ +pybotters.models.binance +======================== + +.. automodule:: pybotters.models.binance + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + Balance + BinanceDataStore + BookTicker + ContinuousKline + Kline + Liquidation + MarkPrice + Order + OrderBook + Position + Ticker + Trade + + + + + + + + + diff --git a/docs/generated/pybotters.models.bitbank.Depth.rst b/docs/generated/pybotters.models.bitbank.Depth.rst new file mode 100644 index 0000000..841a730 --- /dev/null +++ b/docs/generated/pybotters.models.bitbank.Depth.rst @@ -0,0 +1,26 @@ +pybotters.models.bitbank.Depth +============================== + +.. currentmodule:: pybotters.models.bitbank + +.. autoclass:: Depth + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Depth.__init__ + ~Depth.find + ~Depth.get + ~Depth.sorted + ~Depth.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitbank.Ticker.rst b/docs/generated/pybotters.models.bitbank.Ticker.rst new file mode 100644 index 0000000..38adcab --- /dev/null +++ b/docs/generated/pybotters.models.bitbank.Ticker.rst @@ -0,0 +1,25 @@ +pybotters.models.bitbank.Ticker +=============================== + +.. currentmodule:: pybotters.models.bitbank + +.. autoclass:: Ticker + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Ticker.__init__ + ~Ticker.find + ~Ticker.get + ~Ticker.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitbank.Transactions.rst b/docs/generated/pybotters.models.bitbank.Transactions.rst new file mode 100644 index 0000000..e63609c --- /dev/null +++ b/docs/generated/pybotters.models.bitbank.Transactions.rst @@ -0,0 +1,25 @@ +pybotters.models.bitbank.Transactions +===================================== + +.. currentmodule:: pybotters.models.bitbank + +.. autoclass:: Transactions + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Transactions.__init__ + ~Transactions.find + ~Transactions.get + ~Transactions.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitbank.bitbankDataStore.rst b/docs/generated/pybotters.models.bitbank.bitbankDataStore.rst new file mode 100644 index 0000000..453db3f --- /dev/null +++ b/docs/generated/pybotters.models.bitbank.bitbankDataStore.rst @@ -0,0 +1,34 @@ +pybotters.models.bitbank.bitbankDataStore +========================================= + +.. currentmodule:: pybotters.models.bitbank + +.. autoclass:: bitbankDataStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~bitbankDataStore.__init__ + ~bitbankDataStore.create + ~bitbankDataStore.get + ~bitbankDataStore.onmessage + ~bitbankDataStore.wait + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~bitbankDataStore.depth + ~bitbankDataStore.ticker + ~bitbankDataStore.transactions + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitbank.rst b/docs/generated/pybotters.models.bitbank.rst new file mode 100644 index 0000000..80227c1 --- /dev/null +++ b/docs/generated/pybotters.models.bitbank.rst @@ -0,0 +1,33 @@ +pybotters.models.bitbank +======================== + +.. automodule:: pybotters.models.bitbank + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + Depth + Ticker + Transactions + bitbankDataStore + + + + + + + + + diff --git a/docs/generated/pybotters.models.bitflyer.Board.rst b/docs/generated/pybotters.models.bitflyer.Board.rst new file mode 100644 index 0000000..7bc1048 --- /dev/null +++ b/docs/generated/pybotters.models.bitflyer.Board.rst @@ -0,0 +1,26 @@ +pybotters.models.bitflyer.Board +=============================== + +.. currentmodule:: pybotters.models.bitflyer + +.. autoclass:: Board + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Board.__init__ + ~Board.find + ~Board.get + ~Board.sorted + ~Board.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.ChildOrderEvents.rst b/docs/generated/pybotters.models.bitflyer.ChildOrderEvents.rst new file mode 100644 index 0000000..003bdcb --- /dev/null +++ b/docs/generated/pybotters.models.bitflyer.ChildOrderEvents.rst @@ -0,0 +1,25 @@ +pybotters.models.bitflyer.ChildOrderEvents +========================================== + +.. currentmodule:: pybotters.models.bitflyer + +.. autoclass:: ChildOrderEvents + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~ChildOrderEvents.__init__ + ~ChildOrderEvents.find + ~ChildOrderEvents.get + ~ChildOrderEvents.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.ChildOrders.rst b/docs/generated/pybotters.models.bitflyer.ChildOrders.rst new file mode 100644 index 0000000..c1f25e8 --- /dev/null +++ b/docs/generated/pybotters.models.bitflyer.ChildOrders.rst @@ -0,0 +1,25 @@ +pybotters.models.bitflyer.ChildOrders +===================================== + +.. currentmodule:: pybotters.models.bitflyer + +.. autoclass:: ChildOrders + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~ChildOrders.__init__ + ~ChildOrders.find + ~ChildOrders.get + ~ChildOrders.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.Executions.rst b/docs/generated/pybotters.models.bitflyer.Executions.rst new file mode 100644 index 0000000..6718798 --- /dev/null +++ b/docs/generated/pybotters.models.bitflyer.Executions.rst @@ -0,0 +1,25 @@ +pybotters.models.bitflyer.Executions +==================================== + +.. currentmodule:: pybotters.models.bitflyer + +.. autoclass:: Executions + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Executions.__init__ + ~Executions.find + ~Executions.get + ~Executions.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.ParentOrderEvents.rst b/docs/generated/pybotters.models.bitflyer.ParentOrderEvents.rst new file mode 100644 index 0000000..0e91e22 --- /dev/null +++ b/docs/generated/pybotters.models.bitflyer.ParentOrderEvents.rst @@ -0,0 +1,25 @@ +pybotters.models.bitflyer.ParentOrderEvents +=========================================== + +.. currentmodule:: pybotters.models.bitflyer + +.. autoclass:: ParentOrderEvents + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~ParentOrderEvents.__init__ + ~ParentOrderEvents.find + ~ParentOrderEvents.get + ~ParentOrderEvents.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.ParentOrders.rst b/docs/generated/pybotters.models.bitflyer.ParentOrders.rst new file mode 100644 index 0000000..e7497b7 --- /dev/null +++ b/docs/generated/pybotters.models.bitflyer.ParentOrders.rst @@ -0,0 +1,25 @@ +pybotters.models.bitflyer.ParentOrders +====================================== + +.. currentmodule:: pybotters.models.bitflyer + +.. autoclass:: ParentOrders + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~ParentOrders.__init__ + ~ParentOrders.find + ~ParentOrders.get + ~ParentOrders.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.Positions.rst b/docs/generated/pybotters.models.bitflyer.Positions.rst new file mode 100644 index 0000000..6606c8a --- /dev/null +++ b/docs/generated/pybotters.models.bitflyer.Positions.rst @@ -0,0 +1,25 @@ +pybotters.models.bitflyer.Positions +=================================== + +.. currentmodule:: pybotters.models.bitflyer + +.. autoclass:: Positions + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Positions.__init__ + ~Positions.find + ~Positions.get + ~Positions.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.Ticker.rst b/docs/generated/pybotters.models.bitflyer.Ticker.rst new file mode 100644 index 0000000..0f2ad28 --- /dev/null +++ b/docs/generated/pybotters.models.bitflyer.Ticker.rst @@ -0,0 +1,25 @@ +pybotters.models.bitflyer.Ticker +================================ + +.. currentmodule:: pybotters.models.bitflyer + +.. autoclass:: Ticker + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Ticker.__init__ + ~Ticker.find + ~Ticker.get + ~Ticker.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.bitFlyerDataStore.rst b/docs/generated/pybotters.models.bitflyer.bitFlyerDataStore.rst new file mode 100644 index 0000000..201e610 --- /dev/null +++ b/docs/generated/pybotters.models.bitflyer.bitFlyerDataStore.rst @@ -0,0 +1,40 @@ +pybotters.models.bitflyer.bitFlyerDataStore +=========================================== + +.. currentmodule:: pybotters.models.bitflyer + +.. autoclass:: bitFlyerDataStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~bitFlyerDataStore.__init__ + ~bitFlyerDataStore.create + ~bitFlyerDataStore.get + ~bitFlyerDataStore.initialize + ~bitFlyerDataStore.onmessage + ~bitFlyerDataStore.wait + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~bitFlyerDataStore.board + ~bitFlyerDataStore.childorderevents + ~bitFlyerDataStore.childorders + ~bitFlyerDataStore.executions + ~bitFlyerDataStore.parentorderevents + ~bitFlyerDataStore.parentorders + ~bitFlyerDataStore.positions + ~bitFlyerDataStore.ticker + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.rst b/docs/generated/pybotters.models.bitflyer.rst new file mode 100644 index 0000000..770ddca --- /dev/null +++ b/docs/generated/pybotters.models.bitflyer.rst @@ -0,0 +1,38 @@ +pybotters.models.bitflyer +========================= + +.. automodule:: pybotters.models.bitflyer + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + Board + ChildOrderEvents + ChildOrders + Executions + ParentOrderEvents + ParentOrders + Positions + Ticker + bitFlyerDataStore + + + + + + + + + diff --git a/docs/generated/pybotters.models.bitmex.BitMEXDataStore.rst b/docs/generated/pybotters.models.bitmex.BitMEXDataStore.rst new file mode 100644 index 0000000..93f9ed9 --- /dev/null +++ b/docs/generated/pybotters.models.bitmex.BitMEXDataStore.rst @@ -0,0 +1,43 @@ +pybotters.models.bitmex.BitMEXDataStore +======================================= + +.. currentmodule:: pybotters.models.bitmex + +.. autoclass:: BitMEXDataStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~BitMEXDataStore.__init__ + ~BitMEXDataStore.create + ~BitMEXDataStore.get + ~BitMEXDataStore.onmessage + ~BitMEXDataStore.wait + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~BitMEXDataStore.execution + ~BitMEXDataStore.funding + ~BitMEXDataStore.instrument + ~BitMEXDataStore.insurance + ~BitMEXDataStore.liquidation + ~BitMEXDataStore.margin + ~BitMEXDataStore.order + ~BitMEXDataStore.orderbook + ~BitMEXDataStore.position + ~BitMEXDataStore.quote + ~BitMEXDataStore.trade + ~BitMEXDataStore.wallet + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitmex.rst b/docs/generated/pybotters.models.bitmex.rst new file mode 100644 index 0000000..9705247 --- /dev/null +++ b/docs/generated/pybotters.models.bitmex.rst @@ -0,0 +1,30 @@ +pybotters.models.bitmex +======================= + +.. automodule:: pybotters.models.bitmex + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + BitMEXDataStore + + + + + + + + + diff --git a/docs/generated/pybotters.models.bybit.BybitDataStore.rst b/docs/generated/pybotters.models.bybit.BybitDataStore.rst new file mode 100644 index 0000000..747bf80 --- /dev/null +++ b/docs/generated/pybotters.models.bybit.BybitDataStore.rst @@ -0,0 +1,44 @@ +pybotters.models.bybit.BybitDataStore +===================================== + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: BybitDataStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~BybitDataStore.__init__ + ~BybitDataStore.create + ~BybitDataStore.get + ~BybitDataStore.initialize + ~BybitDataStore.onmessage + ~BybitDataStore.wait + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~BybitDataStore.execution + ~BybitDataStore.instrument + ~BybitDataStore.insurance + ~BybitDataStore.kline + ~BybitDataStore.liquidation + ~BybitDataStore.order + ~BybitDataStore.orderbook + ~BybitDataStore.position_inverse + ~BybitDataStore.position_usdt + ~BybitDataStore.stoporder + ~BybitDataStore.trade + ~BybitDataStore.wallet + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Execution.rst b/docs/generated/pybotters.models.bybit.Execution.rst new file mode 100644 index 0000000..78de60e --- /dev/null +++ b/docs/generated/pybotters.models.bybit.Execution.rst @@ -0,0 +1,25 @@ +pybotters.models.bybit.Execution +================================ + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: Execution + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Execution.__init__ + ~Execution.find + ~Execution.get + ~Execution.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Instrument.rst b/docs/generated/pybotters.models.bybit.Instrument.rst new file mode 100644 index 0000000..f3894e3 --- /dev/null +++ b/docs/generated/pybotters.models.bybit.Instrument.rst @@ -0,0 +1,25 @@ +pybotters.models.bybit.Instrument +================================= + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: Instrument + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Instrument.__init__ + ~Instrument.find + ~Instrument.get + ~Instrument.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Insurance.rst b/docs/generated/pybotters.models.bybit.Insurance.rst new file mode 100644 index 0000000..3c96cc8 --- /dev/null +++ b/docs/generated/pybotters.models.bybit.Insurance.rst @@ -0,0 +1,25 @@ +pybotters.models.bybit.Insurance +================================ + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: Insurance + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Insurance.__init__ + ~Insurance.find + ~Insurance.get + ~Insurance.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Kline.rst b/docs/generated/pybotters.models.bybit.Kline.rst new file mode 100644 index 0000000..f320330 --- /dev/null +++ b/docs/generated/pybotters.models.bybit.Kline.rst @@ -0,0 +1,25 @@ +pybotters.models.bybit.Kline +============================ + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: Kline + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Kline.__init__ + ~Kline.find + ~Kline.get + ~Kline.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Liquidation.rst b/docs/generated/pybotters.models.bybit.Liquidation.rst new file mode 100644 index 0000000..799d35c --- /dev/null +++ b/docs/generated/pybotters.models.bybit.Liquidation.rst @@ -0,0 +1,25 @@ +pybotters.models.bybit.Liquidation +================================== + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: Liquidation + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Liquidation.__init__ + ~Liquidation.find + ~Liquidation.get + ~Liquidation.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Order.rst b/docs/generated/pybotters.models.bybit.Order.rst new file mode 100644 index 0000000..f03f083 --- /dev/null +++ b/docs/generated/pybotters.models.bybit.Order.rst @@ -0,0 +1,25 @@ +pybotters.models.bybit.Order +============================ + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: Order + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Order.__init__ + ~Order.find + ~Order.get + ~Order.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.OrderBook.rst b/docs/generated/pybotters.models.bybit.OrderBook.rst new file mode 100644 index 0000000..18d8074 --- /dev/null +++ b/docs/generated/pybotters.models.bybit.OrderBook.rst @@ -0,0 +1,26 @@ +pybotters.models.bybit.OrderBook +================================ + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: OrderBook + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~OrderBook.__init__ + ~OrderBook.find + ~OrderBook.get + ~OrderBook.sorted + ~OrderBook.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.PositionInverse.rst b/docs/generated/pybotters.models.bybit.PositionInverse.rst new file mode 100644 index 0000000..c976206 --- /dev/null +++ b/docs/generated/pybotters.models.bybit.PositionInverse.rst @@ -0,0 +1,27 @@ +pybotters.models.bybit.PositionInverse +====================================== + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: PositionInverse + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~PositionInverse.__init__ + ~PositionInverse.find + ~PositionInverse.get + ~PositionInverse.getboth + ~PositionInverse.getone + ~PositionInverse.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.PositionUSDT.rst b/docs/generated/pybotters.models.bybit.PositionUSDT.rst new file mode 100644 index 0000000..4457be2 --- /dev/null +++ b/docs/generated/pybotters.models.bybit.PositionUSDT.rst @@ -0,0 +1,26 @@ +pybotters.models.bybit.PositionUSDT +=================================== + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: PositionUSDT + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~PositionUSDT.__init__ + ~PositionUSDT.find + ~PositionUSDT.get + ~PositionUSDT.getboth + ~PositionUSDT.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.StopOrder.rst b/docs/generated/pybotters.models.bybit.StopOrder.rst new file mode 100644 index 0000000..a377b65 --- /dev/null +++ b/docs/generated/pybotters.models.bybit.StopOrder.rst @@ -0,0 +1,25 @@ +pybotters.models.bybit.StopOrder +================================ + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: StopOrder + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~StopOrder.__init__ + ~StopOrder.find + ~StopOrder.get + ~StopOrder.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Trade.rst b/docs/generated/pybotters.models.bybit.Trade.rst new file mode 100644 index 0000000..41cf381 --- /dev/null +++ b/docs/generated/pybotters.models.bybit.Trade.rst @@ -0,0 +1,25 @@ +pybotters.models.bybit.Trade +============================ + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: Trade + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Trade.__init__ + ~Trade.find + ~Trade.get + ~Trade.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Wallet.rst b/docs/generated/pybotters.models.bybit.Wallet.rst new file mode 100644 index 0000000..432232c --- /dev/null +++ b/docs/generated/pybotters.models.bybit.Wallet.rst @@ -0,0 +1,25 @@ +pybotters.models.bybit.Wallet +============================= + +.. currentmodule:: pybotters.models.bybit + +.. autoclass:: Wallet + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Wallet.__init__ + ~Wallet.find + ~Wallet.get + ~Wallet.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.rst b/docs/generated/pybotters.models.bybit.rst new file mode 100644 index 0000000..5546129 --- /dev/null +++ b/docs/generated/pybotters.models.bybit.rst @@ -0,0 +1,42 @@ +pybotters.models.bybit +====================== + +.. automodule:: pybotters.models.bybit + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + BybitDataStore + Execution + Instrument + Insurance + Kline + Liquidation + Order + OrderBook + PositionInverse + PositionUSDT + StopOrder + Trade + Wallet + + + + + + + + + diff --git a/docs/generated/pybotters.models.experimental.bybit.BybitInverseDataStore.rst b/docs/generated/pybotters.models.experimental.bybit.BybitInverseDataStore.rst new file mode 100644 index 0000000..fdbbe86 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.BybitInverseDataStore.rst @@ -0,0 +1,42 @@ +pybotters.models.experimental.bybit.BybitInverseDataStore +========================================================= + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: BybitInverseDataStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~BybitInverseDataStore.__init__ + ~BybitInverseDataStore.create + ~BybitInverseDataStore.get + ~BybitInverseDataStore.initialize + ~BybitInverseDataStore.onmessage + ~BybitInverseDataStore.wait + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~BybitInverseDataStore.execution + ~BybitInverseDataStore.instrument + ~BybitInverseDataStore.insurance + ~BybitInverseDataStore.kline + ~BybitInverseDataStore.liquidation + ~BybitInverseDataStore.order + ~BybitInverseDataStore.orderbook + ~BybitInverseDataStore.position + ~BybitInverseDataStore.stoporder + ~BybitInverseDataStore.trade + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.BybitUSDTDataStore.rst b/docs/generated/pybotters.models.experimental.bybit.BybitUSDTDataStore.rst new file mode 100644 index 0000000..8f5bb53 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.BybitUSDTDataStore.rst @@ -0,0 +1,42 @@ +pybotters.models.experimental.bybit.BybitUSDTDataStore +====================================================== + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: BybitUSDTDataStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~BybitUSDTDataStore.__init__ + ~BybitUSDTDataStore.create + ~BybitUSDTDataStore.get + ~BybitUSDTDataStore.initialize + ~BybitUSDTDataStore.onmessage + ~BybitUSDTDataStore.wait + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~BybitUSDTDataStore.execution + ~BybitUSDTDataStore.instrument + ~BybitUSDTDataStore.kline + ~BybitUSDTDataStore.liquidation + ~BybitUSDTDataStore.order + ~BybitUSDTDataStore.orderbook + ~BybitUSDTDataStore.position + ~BybitUSDTDataStore.stoporder + ~BybitUSDTDataStore.trade + ~BybitUSDTDataStore.wallet + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.CastDataStore.rst b/docs/generated/pybotters.models.experimental.bybit.CastDataStore.rst new file mode 100644 index 0000000..64f6a07 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.CastDataStore.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.CastDataStore +================================================= + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: CastDataStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~CastDataStore.__init__ + ~CastDataStore.find + ~CastDataStore.get + ~CastDataStore.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.ExecutionInverse.rst b/docs/generated/pybotters.models.experimental.bybit.ExecutionInverse.rst new file mode 100644 index 0000000..34ca499 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.ExecutionInverse.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.ExecutionInverse +==================================================== + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: ExecutionInverse + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~ExecutionInverse.__init__ + ~ExecutionInverse.find + ~ExecutionInverse.get + ~ExecutionInverse.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.ExecutionUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.ExecutionUSDT.rst new file mode 100644 index 0000000..db9f597 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.ExecutionUSDT.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.ExecutionUSDT +================================================= + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: ExecutionUSDT + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~ExecutionUSDT.__init__ + ~ExecutionUSDT.find + ~ExecutionUSDT.get + ~ExecutionUSDT.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.InstrumentInverse.rst b/docs/generated/pybotters.models.experimental.bybit.InstrumentInverse.rst new file mode 100644 index 0000000..59f9935 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.InstrumentInverse.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.InstrumentInverse +===================================================== + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: InstrumentInverse + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~InstrumentInverse.__init__ + ~InstrumentInverse.find + ~InstrumentInverse.get + ~InstrumentInverse.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.InstrumentUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.InstrumentUSDT.rst new file mode 100644 index 0000000..2f669bf --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.InstrumentUSDT.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.InstrumentUSDT +================================================== + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: InstrumentUSDT + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~InstrumentUSDT.__init__ + ~InstrumentUSDT.find + ~InstrumentUSDT.get + ~InstrumentUSDT.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.Insurance.rst b/docs/generated/pybotters.models.experimental.bybit.Insurance.rst new file mode 100644 index 0000000..85ff25e --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.Insurance.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.Insurance +============================================= + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: Insurance + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Insurance.__init__ + ~Insurance.find + ~Insurance.get + ~Insurance.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.KlineInverse.rst b/docs/generated/pybotters.models.experimental.bybit.KlineInverse.rst new file mode 100644 index 0000000..8d8a8a7 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.KlineInverse.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.KlineInverse +================================================ + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: KlineInverse + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~KlineInverse.__init__ + ~KlineInverse.find + ~KlineInverse.get + ~KlineInverse.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.KlineUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.KlineUSDT.rst new file mode 100644 index 0000000..389e280 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.KlineUSDT.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.KlineUSDT +============================================= + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: KlineUSDT + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~KlineUSDT.__init__ + ~KlineUSDT.find + ~KlineUSDT.get + ~KlineUSDT.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.LiquidationInverse.rst b/docs/generated/pybotters.models.experimental.bybit.LiquidationInverse.rst new file mode 100644 index 0000000..4d18ac8 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.LiquidationInverse.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.LiquidationInverse +====================================================== + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: LiquidationInverse + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~LiquidationInverse.__init__ + ~LiquidationInverse.find + ~LiquidationInverse.get + ~LiquidationInverse.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.LiquidationUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.LiquidationUSDT.rst new file mode 100644 index 0000000..1545b51 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.LiquidationUSDT.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.LiquidationUSDT +=================================================== + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: LiquidationUSDT + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~LiquidationUSDT.__init__ + ~LiquidationUSDT.find + ~LiquidationUSDT.get + ~LiquidationUSDT.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.OrderBookInverse.rst b/docs/generated/pybotters.models.experimental.bybit.OrderBookInverse.rst new file mode 100644 index 0000000..a7c380f --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.OrderBookInverse.rst @@ -0,0 +1,26 @@ +pybotters.models.experimental.bybit.OrderBookInverse +==================================================== + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: OrderBookInverse + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~OrderBookInverse.__init__ + ~OrderBookInverse.find + ~OrderBookInverse.get + ~OrderBookInverse.sorted + ~OrderBookInverse.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.OrderBookUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.OrderBookUSDT.rst new file mode 100644 index 0000000..484144a --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.OrderBookUSDT.rst @@ -0,0 +1,26 @@ +pybotters.models.experimental.bybit.OrderBookUSDT +================================================= + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: OrderBookUSDT + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~OrderBookUSDT.__init__ + ~OrderBookUSDT.find + ~OrderBookUSDT.get + ~OrderBookUSDT.sorted + ~OrderBookUSDT.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.OrderInverse.rst b/docs/generated/pybotters.models.experimental.bybit.OrderInverse.rst new file mode 100644 index 0000000..4072655 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.OrderInverse.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.OrderInverse +================================================ + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: OrderInverse + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~OrderInverse.__init__ + ~OrderInverse.find + ~OrderInverse.get + ~OrderInverse.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.OrderUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.OrderUSDT.rst new file mode 100644 index 0000000..1c651ec --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.OrderUSDT.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.OrderUSDT +============================================= + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: OrderUSDT + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~OrderUSDT.__init__ + ~OrderUSDT.find + ~OrderUSDT.get + ~OrderUSDT.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.PositionInverse.rst b/docs/generated/pybotters.models.experimental.bybit.PositionInverse.rst new file mode 100644 index 0000000..7802029 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.PositionInverse.rst @@ -0,0 +1,27 @@ +pybotters.models.experimental.bybit.PositionInverse +=================================================== + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: PositionInverse + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~PositionInverse.__init__ + ~PositionInverse.both + ~PositionInverse.find + ~PositionInverse.get + ~PositionInverse.one + ~PositionInverse.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.PositionUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.PositionUSDT.rst new file mode 100644 index 0000000..19fc4eb --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.PositionUSDT.rst @@ -0,0 +1,27 @@ +pybotters.models.experimental.bybit.PositionUSDT +================================================ + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: PositionUSDT + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~PositionUSDT.__init__ + ~PositionUSDT.both + ~PositionUSDT.find + ~PositionUSDT.get + ~PositionUSDT.one + ~PositionUSDT.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.StopOrderInverse.rst b/docs/generated/pybotters.models.experimental.bybit.StopOrderInverse.rst new file mode 100644 index 0000000..af762ca --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.StopOrderInverse.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.StopOrderInverse +==================================================== + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: StopOrderInverse + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~StopOrderInverse.__init__ + ~StopOrderInverse.find + ~StopOrderInverse.get + ~StopOrderInverse.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.StopOrderUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.StopOrderUSDT.rst new file mode 100644 index 0000000..6b36d29 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.StopOrderUSDT.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.StopOrderUSDT +================================================= + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: StopOrderUSDT + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~StopOrderUSDT.__init__ + ~StopOrderUSDT.find + ~StopOrderUSDT.get + ~StopOrderUSDT.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.TradeInverse.rst b/docs/generated/pybotters.models.experimental.bybit.TradeInverse.rst new file mode 100644 index 0000000..cb8eaff --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.TradeInverse.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.TradeInverse +================================================ + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: TradeInverse + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~TradeInverse.__init__ + ~TradeInverse.find + ~TradeInverse.get + ~TradeInverse.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.TradeUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.TradeUSDT.rst new file mode 100644 index 0000000..d371b5f --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.TradeUSDT.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.TradeUSDT +============================================= + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: TradeUSDT + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~TradeUSDT.__init__ + ~TradeUSDT.find + ~TradeUSDT.get + ~TradeUSDT.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.Wallet.rst b/docs/generated/pybotters.models.experimental.bybit.Wallet.rst new file mode 100644 index 0000000..7de16a6 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.Wallet.rst @@ -0,0 +1,25 @@ +pybotters.models.experimental.bybit.Wallet +========================================== + +.. currentmodule:: pybotters.models.experimental.bybit + +.. autoclass:: Wallet + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Wallet.__init__ + ~Wallet.find + ~Wallet.get + ~Wallet.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.rst b/docs/generated/pybotters.models.experimental.bybit.rst new file mode 100644 index 0000000..92e8924 --- /dev/null +++ b/docs/generated/pybotters.models.experimental.bybit.rst @@ -0,0 +1,52 @@ +pybotters.models.experimental.bybit +=================================== + +.. automodule:: pybotters.models.experimental.bybit + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + BybitInverseDataStore + BybitUSDTDataStore + CastDataStore + ExecutionInverse + ExecutionUSDT + InstrumentInverse + InstrumentUSDT + Insurance + KlineInverse + KlineUSDT + LiquidationInverse + LiquidationUSDT + OrderBookInverse + OrderBookUSDT + OrderInverse + OrderUSDT + PositionInverse + PositionUSDT + StopOrderInverse + StopOrderUSDT + TradeInverse + TradeUSDT + Wallet + + + + + + + + + diff --git a/docs/generated/pybotters.models.experimental.rst b/docs/generated/pybotters.models.experimental.rst new file mode 100644 index 0000000..a09e05d --- /dev/null +++ b/docs/generated/pybotters.models.experimental.rst @@ -0,0 +1,31 @@ +pybotters.models.experimental +============================= + +.. automodule:: pybotters.models.experimental + + + + + + + + + + + + + + + + + + + +.. rubric:: Modules + +.. autosummary:: + :toctree: + :recursive: + + pybotters.models.experimental.bybit + diff --git a/docs/generated/pybotters.models.ftx.FTXDataStore.rst b/docs/generated/pybotters.models.ftx.FTXDataStore.rst new file mode 100644 index 0000000..0778b12 --- /dev/null +++ b/docs/generated/pybotters.models.ftx.FTXDataStore.rst @@ -0,0 +1,39 @@ +pybotters.models.ftx.FTXDataStore +================================= + +.. currentmodule:: pybotters.models.ftx + +.. autoclass:: FTXDataStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~FTXDataStore.__init__ + ~FTXDataStore.create + ~FTXDataStore.get + ~FTXDataStore.initialize + ~FTXDataStore.onmessage + ~FTXDataStore.wait + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~FTXDataStore.fills + ~FTXDataStore.markets + ~FTXDataStore.orderbook + ~FTXDataStore.orders + ~FTXDataStore.positions + ~FTXDataStore.ticker + ~FTXDataStore.trades + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.Fills.rst b/docs/generated/pybotters.models.ftx.Fills.rst new file mode 100644 index 0000000..ef96cfc --- /dev/null +++ b/docs/generated/pybotters.models.ftx.Fills.rst @@ -0,0 +1,25 @@ +pybotters.models.ftx.Fills +========================== + +.. currentmodule:: pybotters.models.ftx + +.. autoclass:: Fills + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Fills.__init__ + ~Fills.find + ~Fills.get + ~Fills.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.Markets.rst b/docs/generated/pybotters.models.ftx.Markets.rst new file mode 100644 index 0000000..e93a18f --- /dev/null +++ b/docs/generated/pybotters.models.ftx.Markets.rst @@ -0,0 +1,25 @@ +pybotters.models.ftx.Markets +============================ + +.. currentmodule:: pybotters.models.ftx + +.. autoclass:: Markets + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Markets.__init__ + ~Markets.find + ~Markets.get + ~Markets.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.OrderBook.rst b/docs/generated/pybotters.models.ftx.OrderBook.rst new file mode 100644 index 0000000..cb80f7c --- /dev/null +++ b/docs/generated/pybotters.models.ftx.OrderBook.rst @@ -0,0 +1,26 @@ +pybotters.models.ftx.OrderBook +============================== + +.. currentmodule:: pybotters.models.ftx + +.. autoclass:: OrderBook + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~OrderBook.__init__ + ~OrderBook.find + ~OrderBook.get + ~OrderBook.sorted + ~OrderBook.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.Orders.rst b/docs/generated/pybotters.models.ftx.Orders.rst new file mode 100644 index 0000000..0f40ddd --- /dev/null +++ b/docs/generated/pybotters.models.ftx.Orders.rst @@ -0,0 +1,25 @@ +pybotters.models.ftx.Orders +=========================== + +.. currentmodule:: pybotters.models.ftx + +.. autoclass:: Orders + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Orders.__init__ + ~Orders.find + ~Orders.get + ~Orders.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.Positions.rst b/docs/generated/pybotters.models.ftx.Positions.rst new file mode 100644 index 0000000..b6976a3 --- /dev/null +++ b/docs/generated/pybotters.models.ftx.Positions.rst @@ -0,0 +1,25 @@ +pybotters.models.ftx.Positions +============================== + +.. currentmodule:: pybotters.models.ftx + +.. autoclass:: Positions + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Positions.__init__ + ~Positions.find + ~Positions.get + ~Positions.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.Ticker.rst b/docs/generated/pybotters.models.ftx.Ticker.rst new file mode 100644 index 0000000..e553322 --- /dev/null +++ b/docs/generated/pybotters.models.ftx.Ticker.rst @@ -0,0 +1,25 @@ +pybotters.models.ftx.Ticker +=========================== + +.. currentmodule:: pybotters.models.ftx + +.. autoclass:: Ticker + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Ticker.__init__ + ~Ticker.find + ~Ticker.get + ~Ticker.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.Trades.rst b/docs/generated/pybotters.models.ftx.Trades.rst new file mode 100644 index 0000000..4d569f7 --- /dev/null +++ b/docs/generated/pybotters.models.ftx.Trades.rst @@ -0,0 +1,25 @@ +pybotters.models.ftx.Trades +=========================== + +.. currentmodule:: pybotters.models.ftx + +.. autoclass:: Trades + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Trades.__init__ + ~Trades.find + ~Trades.get + ~Trades.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.rst b/docs/generated/pybotters.models.ftx.rst new file mode 100644 index 0000000..72423da --- /dev/null +++ b/docs/generated/pybotters.models.ftx.rst @@ -0,0 +1,37 @@ +pybotters.models.ftx +==================== + +.. automodule:: pybotters.models.ftx + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + FTXDataStore + Fills + Markets + OrderBook + Orders + Positions + Ticker + Trades + + + + + + + + + diff --git a/docs/generated/pybotters.models.gmocoin.ApiType.rst b/docs/generated/pybotters.models.gmocoin.ApiType.rst new file mode 100644 index 0000000..2c57bd6 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.ApiType.rst @@ -0,0 +1,23 @@ +pybotters.models.gmocoin.ApiType +================================ + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: ApiType + :members: + + + + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~ApiType.Public + ~ApiType.Private + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.CancelType.rst b/docs/generated/pybotters.models.gmocoin.CancelType.rst new file mode 100644 index 0000000..8ac6369 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.CancelType.rst @@ -0,0 +1,35 @@ +pybotters.models.gmocoin.CancelType +=================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: CancelType + :members: + + + + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~CancelType.NONE + ~CancelType.USER + ~CancelType.POSITION_LOSSCUT + ~CancelType.INSUFFICIENT_BALANCE + ~CancelType.INSUFFICIENT_MARGIN + ~CancelType.ACCOUNT_LOSSCUT + ~CancelType.MARGIN_CALL + ~CancelType.MARGIN_CALL_LOSSCUT + ~CancelType.EXPIRED_FAK + ~CancelType.EXPIRED_FOK + ~CancelType.EXPIRED_SOK + ~CancelType.CLOSED_ORDER + ~CancelType.SOK_TAKER + ~CancelType.PRICE_LIMIT + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Channel.rst b/docs/generated/pybotters.models.gmocoin.Channel.rst new file mode 100644 index 0000000..3a2d024 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.Channel.rst @@ -0,0 +1,34 @@ +pybotters.models.gmocoin.Channel +================================ + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: Channel + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Channel.from_str + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~Channel.TICKER + ~Channel.ORDER_BOOKS + ~Channel.TRADES + ~Channel.EXECUTION_EVENTS + ~Channel.ORDER_EVENTS + ~Channel.POSITION_EVENTS + ~Channel.POSITION_SUMMARY_EVENTS + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Execution.rst b/docs/generated/pybotters.models.gmocoin.Execution.rst new file mode 100644 index 0000000..70f0081 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.Execution.rst @@ -0,0 +1,55 @@ +pybotters.models.gmocoin.Execution +================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: Execution + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Execution.__init__ + ~Execution.clear + ~Execution.copy + ~Execution.fromkeys + ~Execution.get + ~Execution.items + ~Execution.keys + ~Execution.pop + ~Execution.popitem + ~Execution.setdefault + ~Execution.update + ~Execution.values + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~Execution.execution_id + ~Execution.order_id + ~Execution.symbol + ~Execution.side + ~Execution.settle_type + ~Execution.size + ~Execution.price + ~Execution.timestamp + ~Execution.loss_gain + ~Execution.fee + ~Execution.position_id + ~Execution.execution_type + ~Execution.order_price + ~Execution.order_size + ~Execution.order_executed_size + ~Execution.order_timestamp + ~Execution.time_in_force + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.ExecutionStore.rst b/docs/generated/pybotters.models.gmocoin.ExecutionStore.rst new file mode 100644 index 0000000..ad476f2 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.ExecutionStore.rst @@ -0,0 +1,26 @@ +pybotters.models.gmocoin.ExecutionStore +======================================= + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: ExecutionStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~ExecutionStore.__init__ + ~ExecutionStore.find + ~ExecutionStore.get + ~ExecutionStore.sorted + ~ExecutionStore.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.ExecutionType.rst b/docs/generated/pybotters.models.gmocoin.ExecutionType.rst new file mode 100644 index 0000000..8991b82 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.ExecutionType.rst @@ -0,0 +1,24 @@ +pybotters.models.gmocoin.ExecutionType +====================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: ExecutionType + :members: + + + + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~ExecutionType.MARKET + ~ExecutionType.LIMIT + ~ExecutionType.STOP + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.GMOCoinDataStore.rst b/docs/generated/pybotters.models.gmocoin.GMOCoinDataStore.rst new file mode 100644 index 0000000..95598fd --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.GMOCoinDataStore.rst @@ -0,0 +1,39 @@ +pybotters.models.gmocoin.GMOCoinDataStore +========================================= + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: GMOCoinDataStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~GMOCoinDataStore.__init__ + ~GMOCoinDataStore.create + ~GMOCoinDataStore.get + ~GMOCoinDataStore.initialize + ~GMOCoinDataStore.onmessage + ~GMOCoinDataStore.wait + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~GMOCoinDataStore.executions + ~GMOCoinDataStore.orderbooks + ~GMOCoinDataStore.orders + ~GMOCoinDataStore.position_summary + ~GMOCoinDataStore.positions + ~GMOCoinDataStore.ticker + ~GMOCoinDataStore.trades + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.MessageHelper.rst b/docs/generated/pybotters.models.gmocoin.MessageHelper.rst new file mode 100644 index 0000000..b70d78f --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.MessageHelper.rst @@ -0,0 +1,35 @@ +pybotters.models.gmocoin.MessageHelper +====================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: MessageHelper + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~MessageHelper.__init__ + ~MessageHelper.to_execution + ~MessageHelper.to_executions + ~MessageHelper.to_order + ~MessageHelper.to_orderbook + ~MessageHelper.to_orders + ~MessageHelper.to_position + ~MessageHelper.to_position_summaries + ~MessageHelper.to_position_summary + ~MessageHelper.to_positions + ~MessageHelper.to_ticker + ~MessageHelper.to_tickers + ~MessageHelper.to_trade + ~MessageHelper.to_trades + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.MessageType.rst b/docs/generated/pybotters.models.gmocoin.MessageType.rst new file mode 100644 index 0000000..9d04810 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.MessageType.rst @@ -0,0 +1,33 @@ +pybotters.models.gmocoin.MessageType +==================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: MessageType + :members: + + + + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~MessageType.NONE + ~MessageType.ER + ~MessageType.NOR + ~MessageType.ROR + ~MessageType.COR + ~MessageType.OPR + ~MessageType.UPR + ~MessageType.ULR + ~MessageType.CPR + ~MessageType.INIT + ~MessageType.UPDATE + ~MessageType.PERIODIC + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Order.rst b/docs/generated/pybotters.models.gmocoin.Order.rst new file mode 100644 index 0000000..d0a1ac2 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.Order.rst @@ -0,0 +1,51 @@ +pybotters.models.gmocoin.Order +============================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: Order + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Order.__init__ + ~Order.clear + ~Order.copy + ~Order.fromkeys + ~Order.get + ~Order.items + ~Order.keys + ~Order.pop + ~Order.popitem + ~Order.setdefault + ~Order.update + ~Order.values + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~Order.order_id + ~Order.symbol + ~Order.settle_type + ~Order.execution_type + ~Order.side + ~Order.order_status + ~Order.order_timestamp + ~Order.price + ~Order.size + ~Order.executed_size + ~Order.losscut_price + ~Order.time_in_force + ~Order.cancel_type + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderBook.rst b/docs/generated/pybotters.models.gmocoin.OrderBook.rst new file mode 100644 index 0000000..6232556 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.OrderBook.rst @@ -0,0 +1,42 @@ +pybotters.models.gmocoin.OrderBook +================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: OrderBook + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~OrderBook.__init__ + ~OrderBook.clear + ~OrderBook.copy + ~OrderBook.fromkeys + ~OrderBook.get + ~OrderBook.items + ~OrderBook.keys + ~OrderBook.pop + ~OrderBook.popitem + ~OrderBook.setdefault + ~OrderBook.update + ~OrderBook.values + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~OrderBook.asks + ~OrderBook.bids + ~OrderBook.symbol + ~OrderBook.timestamp + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderBookStore.rst b/docs/generated/pybotters.models.gmocoin.OrderBookStore.rst new file mode 100644 index 0000000..cffb231 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.OrderBookStore.rst @@ -0,0 +1,26 @@ +pybotters.models.gmocoin.OrderBookStore +======================================= + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: OrderBookStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~OrderBookStore.__init__ + ~OrderBookStore.find + ~OrderBookStore.get + ~OrderBookStore.sorted + ~OrderBookStore.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderLevel.rst b/docs/generated/pybotters.models.gmocoin.OrderLevel.rst new file mode 100644 index 0000000..1097744 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.OrderLevel.rst @@ -0,0 +1,42 @@ +pybotters.models.gmocoin.OrderLevel +=================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: OrderLevel + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~OrderLevel.__init__ + ~OrderLevel.clear + ~OrderLevel.copy + ~OrderLevel.fromkeys + ~OrderLevel.get + ~OrderLevel.items + ~OrderLevel.keys + ~OrderLevel.pop + ~OrderLevel.popitem + ~OrderLevel.setdefault + ~OrderLevel.update + ~OrderLevel.values + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~OrderLevel.symbol + ~OrderLevel.side + ~OrderLevel.price + ~OrderLevel.size + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderSide.rst b/docs/generated/pybotters.models.gmocoin.OrderSide.rst new file mode 100644 index 0000000..67f61ff --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.OrderSide.rst @@ -0,0 +1,23 @@ +pybotters.models.gmocoin.OrderSide +================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: OrderSide + :members: + + + + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~OrderSide.BUY + ~OrderSide.SELL + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderStatus.rst b/docs/generated/pybotters.models.gmocoin.OrderStatus.rst new file mode 100644 index 0000000..5d543d9 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.OrderStatus.rst @@ -0,0 +1,28 @@ +pybotters.models.gmocoin.OrderStatus +==================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: OrderStatus + :members: + + + + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~OrderStatus.WAITING + ~OrderStatus.ORDERED + ~OrderStatus.MODIFYING + ~OrderStatus.CANCELLING + ~OrderStatus.CANCELED + ~OrderStatus.EXECUTED + ~OrderStatus.EXPIRED + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderStore.rst b/docs/generated/pybotters.models.gmocoin.OrderStore.rst new file mode 100644 index 0000000..b8919e3 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.OrderStore.rst @@ -0,0 +1,25 @@ +pybotters.models.gmocoin.OrderStore +=================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: OrderStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~OrderStore.__init__ + ~OrderStore.find + ~OrderStore.get + ~OrderStore.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderType.rst b/docs/generated/pybotters.models.gmocoin.OrderType.rst new file mode 100644 index 0000000..11b1630 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.OrderType.rst @@ -0,0 +1,23 @@ +pybotters.models.gmocoin.OrderType +================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: OrderType + :members: + + + + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~OrderType.NORMAL + ~OrderType.LOSSCUT + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Position.rst b/docs/generated/pybotters.models.gmocoin.Position.rst new file mode 100644 index 0000000..12f5406 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.Position.rst @@ -0,0 +1,48 @@ +pybotters.models.gmocoin.Position +================================= + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: Position + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Position.__init__ + ~Position.clear + ~Position.copy + ~Position.fromkeys + ~Position.get + ~Position.items + ~Position.keys + ~Position.pop + ~Position.popitem + ~Position.setdefault + ~Position.update + ~Position.values + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~Position.position_id + ~Position.symbol + ~Position.side + ~Position.size + ~Position.orderd_size + ~Position.price + ~Position.loss_gain + ~Position.leverage + ~Position.losscut_price + ~Position.timestamp + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.PositionStore.rst b/docs/generated/pybotters.models.gmocoin.PositionStore.rst new file mode 100644 index 0000000..4f3b0f3 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.PositionStore.rst @@ -0,0 +1,25 @@ +pybotters.models.gmocoin.PositionStore +====================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: PositionStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~PositionStore.__init__ + ~PositionStore.find + ~PositionStore.get + ~PositionStore.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.PositionSummary.rst b/docs/generated/pybotters.models.gmocoin.PositionSummary.rst new file mode 100644 index 0000000..5d35e1d --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.PositionSummary.rst @@ -0,0 +1,45 @@ +pybotters.models.gmocoin.PositionSummary +======================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: PositionSummary + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~PositionSummary.__init__ + ~PositionSummary.clear + ~PositionSummary.copy + ~PositionSummary.fromkeys + ~PositionSummary.get + ~PositionSummary.items + ~PositionSummary.keys + ~PositionSummary.pop + ~PositionSummary.popitem + ~PositionSummary.setdefault + ~PositionSummary.update + ~PositionSummary.values + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~PositionSummary.symbol + ~PositionSummary.side + ~PositionSummary.average_position_rate + ~PositionSummary.position_loss_gain + ~PositionSummary.sum_order_quantity + ~PositionSummary.sum_position_quantity + ~PositionSummary.timestamp + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.PositionSummaryStore.rst b/docs/generated/pybotters.models.gmocoin.PositionSummaryStore.rst new file mode 100644 index 0000000..2851d7f --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.PositionSummaryStore.rst @@ -0,0 +1,25 @@ +pybotters.models.gmocoin.PositionSummaryStore +============================================= + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: PositionSummaryStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~PositionSummaryStore.__init__ + ~PositionSummaryStore.find + ~PositionSummaryStore.get + ~PositionSummaryStore.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.SettleType.rst b/docs/generated/pybotters.models.gmocoin.SettleType.rst new file mode 100644 index 0000000..32acf0d --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.SettleType.rst @@ -0,0 +1,24 @@ +pybotters.models.gmocoin.SettleType +=================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: SettleType + :members: + + + + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~SettleType.OPEN + ~SettleType.CLOSE + ~SettleType.LOSS_CUT + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Symbol.rst b/docs/generated/pybotters.models.gmocoin.Symbol.rst new file mode 100644 index 0000000..167fe49 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.Symbol.rst @@ -0,0 +1,31 @@ +pybotters.models.gmocoin.Symbol +=============================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: Symbol + :members: + + + + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~Symbol.BTC + ~Symbol.ETH + ~Symbol.BCH + ~Symbol.LTC + ~Symbol.XRP + ~Symbol.BTC_JPY + ~Symbol.ETH_JPY + ~Symbol.BCH_JPY + ~Symbol.LTC_JPY + ~Symbol.XRP_JPY + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Ticker.rst b/docs/generated/pybotters.models.gmocoin.Ticker.rst new file mode 100644 index 0000000..28814f8 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.Ticker.rst @@ -0,0 +1,46 @@ +pybotters.models.gmocoin.Ticker +=============================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: Ticker + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Ticker.__init__ + ~Ticker.clear + ~Ticker.copy + ~Ticker.fromkeys + ~Ticker.get + ~Ticker.items + ~Ticker.keys + ~Ticker.pop + ~Ticker.popitem + ~Ticker.setdefault + ~Ticker.update + ~Ticker.values + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~Ticker.ask + ~Ticker.bid + ~Ticker.high + ~Ticker.last + ~Ticker.low + ~Ticker.symbol + ~Ticker.timestamp + ~Ticker.volume + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.TickerStore.rst b/docs/generated/pybotters.models.gmocoin.TickerStore.rst new file mode 100644 index 0000000..1bf8e74 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.TickerStore.rst @@ -0,0 +1,25 @@ +pybotters.models.gmocoin.TickerStore +==================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: TickerStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~TickerStore.__init__ + ~TickerStore.find + ~TickerStore.get + ~TickerStore.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.TimeInForce.rst b/docs/generated/pybotters.models.gmocoin.TimeInForce.rst new file mode 100644 index 0000000..2f5c066 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.TimeInForce.rst @@ -0,0 +1,25 @@ +pybotters.models.gmocoin.TimeInForce +==================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: TimeInForce + :members: + + + + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~TimeInForce.FAK + ~TimeInForce.FAS + ~TimeInForce.FOK + ~TimeInForce.SOK + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Trade.rst b/docs/generated/pybotters.models.gmocoin.Trade.rst new file mode 100644 index 0000000..ba39695 --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.Trade.rst @@ -0,0 +1,43 @@ +pybotters.models.gmocoin.Trade +============================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: Trade + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Trade.__init__ + ~Trade.clear + ~Trade.copy + ~Trade.fromkeys + ~Trade.get + ~Trade.items + ~Trade.keys + ~Trade.pop + ~Trade.popitem + ~Trade.setdefault + ~Trade.update + ~Trade.values + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~Trade.price + ~Trade.side + ~Trade.size + ~Trade.timestamp + ~Trade.symbol + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.TradeStore.rst b/docs/generated/pybotters.models.gmocoin.TradeStore.rst new file mode 100644 index 0000000..da8c51e --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.TradeStore.rst @@ -0,0 +1,25 @@ +pybotters.models.gmocoin.TradeStore +=================================== + +.. currentmodule:: pybotters.models.gmocoin + +.. autoclass:: TradeStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~TradeStore.__init__ + ~TradeStore.find + ~TradeStore.get + ~TradeStore.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.rst b/docs/generated/pybotters.models.gmocoin.rst new file mode 100644 index 0000000..5c23f3a --- /dev/null +++ b/docs/generated/pybotters.models.gmocoin.rst @@ -0,0 +1,63 @@ +pybotters.models.gmocoin +======================== + +.. automodule:: pybotters.models.gmocoin + + + + + + + + .. rubric:: Functions + + .. autosummary:: + + parse_datetime + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + ApiType + CancelType + Channel + Execution + ExecutionStore + ExecutionType + GMOCoinDataStore + MessageHelper + MessageType + Order + OrderBook + OrderBookStore + OrderLevel + OrderSide + OrderStatus + OrderStore + OrderType + Position + PositionStore + PositionSummary + PositionSummaryStore + SettleType + Symbol + Ticker + TickerStore + TimeInForce + Trade + TradeStore + + + + + + + + + diff --git a/docs/generated/pybotters.models.rst b/docs/generated/pybotters.models.rst new file mode 100644 index 0000000..6e8af76 --- /dev/null +++ b/docs/generated/pybotters.models.rst @@ -0,0 +1,38 @@ +pybotters.models +================ + +.. automodule:: pybotters.models + + + + + + + + + + + + + + + + + + + +.. rubric:: Modules + +.. autosummary:: + :toctree: + :recursive: + + pybotters.models.binance + pybotters.models.bitbank + pybotters.models.bitflyer + pybotters.models.bitmex + pybotters.models.bybit + pybotters.models.experimental + pybotters.models.ftx + pybotters.models.gmocoin + diff --git a/docs/generated/pybotters.request.rst b/docs/generated/pybotters.request.rst new file mode 100644 index 0000000..e17ffba --- /dev/null +++ b/docs/generated/pybotters.request.rst @@ -0,0 +1,6 @@ +pybotters.request +================= + +.. currentmodule:: pybotters + +.. autofunction:: request \ No newline at end of file diff --git a/docs/generated/pybotters.rst b/docs/generated/pybotters.rst new file mode 100644 index 0000000..b33131e --- /dev/null +++ b/docs/generated/pybotters.rst @@ -0,0 +1,56 @@ +pybotters +========= + +.. automodule:: pybotters + + + + + + + + .. rubric:: Functions + + .. autosummary:: + + delete + get + post + print_handler + put + request + ws_connect + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + SyncClientResponse + + + + + + + + + +.. rubric:: Modules + +.. autosummary:: + :toctree: + :recursive: + + pybotters.auth + pybotters.client + pybotters.models + pybotters.request + pybotters.store + pybotters.typedefs + pybotters.ws + diff --git a/docs/generated/pybotters.store.DataStore.rst b/docs/generated/pybotters.store.DataStore.rst new file mode 100644 index 0000000..bfe983c --- /dev/null +++ b/docs/generated/pybotters.store.DataStore.rst @@ -0,0 +1,25 @@ +pybotters.store.DataStore +========================= + +.. currentmodule:: pybotters.store + +.. autoclass:: DataStore + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~DataStore.__init__ + ~DataStore.find + ~DataStore.get + ~DataStore.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.store.DataStoreManager.rst b/docs/generated/pybotters.store.DataStoreManager.rst new file mode 100644 index 0000000..1eb4d26 --- /dev/null +++ b/docs/generated/pybotters.store.DataStoreManager.rst @@ -0,0 +1,26 @@ +pybotters.store.DataStoreManager +================================ + +.. currentmodule:: pybotters.store + +.. autoclass:: DataStoreManager + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~DataStoreManager.__init__ + ~DataStoreManager.create + ~DataStoreManager.get + ~DataStoreManager.onmessage + ~DataStoreManager.wait + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.store.rst b/docs/generated/pybotters.store.rst new file mode 100644 index 0000000..a231e29 --- /dev/null +++ b/docs/generated/pybotters.store.rst @@ -0,0 +1,31 @@ +pybotters.store +=============== + +.. automodule:: pybotters.store + + + + + + + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + DataStore + DataStoreManager + + + + + + + + + diff --git a/docs/generated/pybotters.typedefs.rst b/docs/generated/pybotters.typedefs.rst new file mode 100644 index 0000000..8c3a0f7 --- /dev/null +++ b/docs/generated/pybotters.typedefs.rst @@ -0,0 +1,23 @@ +pybotters.typedefs +================== + +.. automodule:: pybotters.typedefs + + + + + + + + + + + + + + + + + + + diff --git a/docs/generated/pybotters.ws.Auth.rst b/docs/generated/pybotters.ws.Auth.rst new file mode 100644 index 0000000..adc8542 --- /dev/null +++ b/docs/generated/pybotters.ws.Auth.rst @@ -0,0 +1,26 @@ +pybotters.ws.Auth +================= + +.. currentmodule:: pybotters.ws + +.. autoclass:: Auth + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Auth.__init__ + ~Auth.bitflyer + ~Auth.ftx + ~Auth.liquid + ~Auth.phemex + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.ws.AuthHosts.rst b/docs/generated/pybotters.ws.AuthHosts.rst new file mode 100644 index 0000000..b0e738e --- /dev/null +++ b/docs/generated/pybotters.ws.AuthHosts.rst @@ -0,0 +1,28 @@ +pybotters.ws.AuthHosts +====================== + +.. currentmodule:: pybotters.ws + +.. autoclass:: AuthHosts + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~AuthHosts.__init__ + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~AuthHosts.items + + \ No newline at end of file diff --git a/docs/generated/pybotters.ws.ClientWebSocketResponse.rst b/docs/generated/pybotters.ws.ClientWebSocketResponse.rst new file mode 100644 index 0000000..cc1130e --- /dev/null +++ b/docs/generated/pybotters.ws.ClientWebSocketResponse.rst @@ -0,0 +1,44 @@ +pybotters.ws.ClientWebSocketResponse +==================================== + +.. currentmodule:: pybotters.ws + +.. autoclass:: ClientWebSocketResponse + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~ClientWebSocketResponse.__init__ + ~ClientWebSocketResponse.close + ~ClientWebSocketResponse.exception + ~ClientWebSocketResponse.get_extra_info + ~ClientWebSocketResponse.ping + ~ClientWebSocketResponse.pong + ~ClientWebSocketResponse.receive + ~ClientWebSocketResponse.receive_bytes + ~ClientWebSocketResponse.receive_json + ~ClientWebSocketResponse.receive_str + ~ClientWebSocketResponse.send_bytes + ~ClientWebSocketResponse.send_json + ~ClientWebSocketResponse.send_str + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~ClientWebSocketResponse.client_notakeover + ~ClientWebSocketResponse.close_code + ~ClientWebSocketResponse.closed + ~ClientWebSocketResponse.compress + ~ClientWebSocketResponse.protocol + + \ No newline at end of file diff --git a/docs/generated/pybotters.ws.Heartbeat.rst b/docs/generated/pybotters.ws.Heartbeat.rst new file mode 100644 index 0000000..4b111b3 --- /dev/null +++ b/docs/generated/pybotters.ws.Heartbeat.rst @@ -0,0 +1,28 @@ +pybotters.ws.Heartbeat +====================== + +.. currentmodule:: pybotters.ws + +.. autoclass:: Heartbeat + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Heartbeat.__init__ + ~Heartbeat.binance + ~Heartbeat.bitbank + ~Heartbeat.bybit + ~Heartbeat.ftx + ~Heartbeat.liquid + ~Heartbeat.phemex + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.ws.HeartbeatHosts.rst b/docs/generated/pybotters.ws.HeartbeatHosts.rst new file mode 100644 index 0000000..964c84c --- /dev/null +++ b/docs/generated/pybotters.ws.HeartbeatHosts.rst @@ -0,0 +1,28 @@ +pybotters.ws.HeartbeatHosts +=========================== + +.. currentmodule:: pybotters.ws + +.. autoclass:: HeartbeatHosts + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~HeartbeatHosts.__init__ + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~HeartbeatHosts.items + + \ No newline at end of file diff --git a/docs/generated/pybotters.ws.Item.rst b/docs/generated/pybotters.ws.Item.rst new file mode 100644 index 0000000..90d2520 --- /dev/null +++ b/docs/generated/pybotters.ws.Item.rst @@ -0,0 +1,29 @@ +pybotters.ws.Item +================= + +.. currentmodule:: pybotters.ws + +.. autoclass:: Item + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~Item.__init__ + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~Item.name + ~Item.func + + \ No newline at end of file diff --git a/docs/generated/pybotters.ws.RequestLimit.rst b/docs/generated/pybotters.ws.RequestLimit.rst new file mode 100644 index 0000000..3071884 --- /dev/null +++ b/docs/generated/pybotters.ws.RequestLimit.rst @@ -0,0 +1,23 @@ +pybotters.ws.RequestLimit +========================= + +.. currentmodule:: pybotters.ws + +.. autoclass:: RequestLimit + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~RequestLimit.__init__ + ~RequestLimit.gmocoin + + + + + + \ No newline at end of file diff --git a/docs/generated/pybotters.ws.RequestLimitHosts.rst b/docs/generated/pybotters.ws.RequestLimitHosts.rst new file mode 100644 index 0000000..8661998 --- /dev/null +++ b/docs/generated/pybotters.ws.RequestLimitHosts.rst @@ -0,0 +1,28 @@ +pybotters.ws.RequestLimitHosts +============================== + +.. currentmodule:: pybotters.ws + +.. autoclass:: RequestLimitHosts + :members: + + + + + .. rubric:: Methods + + .. autosummary:: + + ~RequestLimitHosts.__init__ + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~RequestLimitHosts.items + + \ No newline at end of file diff --git a/docs/generated/pybotters.ws.rst b/docs/generated/pybotters.ws.rst new file mode 100644 index 0000000..13a2c5c --- /dev/null +++ b/docs/generated/pybotters.ws.rst @@ -0,0 +1,43 @@ +pybotters.ws +============ + +.. automodule:: pybotters.ws + + + + + + + + .. rubric:: Functions + + .. autosummary:: + + ws_run_forever + + + + + + .. rubric:: Classes + + .. autosummary:: + :toctree: + + Auth + AuthHosts + ClientWebSocketResponse + Heartbeat + HeartbeatHosts + Item + RequestLimit + RequestLimitHosts + + + + + + + + + diff --git a/docs/index.rst b/docs/index.rst index 151d9d9..fd64962 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -16,6 +16,15 @@ Welcome to pybotters's documentation! Exchanges Contributing +API Reference +------------- + +.. autosummary:: + :toctree: generated + :recursive: + + pybotters + Indices and tables ================== diff --git a/docs/requirements.txt b/docs/requirements.txt index 2543925..199eb38 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,2 +1,4 @@ Sphinx -sphinx-rtd-theme \ No newline at end of file +sphinx-rtd-theme +aiohttp +rich \ No newline at end of file From 3539fc532f6c2f2bc36b1e1e0f7a4c184fcc4289 Mon Sep 17 00:00:00 2001 From: driller Date: Sun, 31 Oct 2021 20:22:43 +0900 Subject: [PATCH 13/25] add docstring sample in clinent.py --- pybotters/client.py | 55 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/pybotters/client.py b/pybotters/client.py index 8584ca8..39dca80 100644 --- a/pybotters/client.py +++ b/pybotters/client.py @@ -19,6 +19,40 @@ class Client: + """ + HTTPリクエストクライアントクラス + + .. note:: + 引数 apis は省略できます。 + + :Example: + + .. code-block:: python + + async def main(): + async with pybotters.Client(apis={'example': ['KEY', 'SECRET']}) as client: + r = await client.get('https://...', params={'foo': 'bar'}) + print(await r.json()) + + .. code-block:: python + + async def main(): + async with pybotters.Client(apis={'example': ['KEY', 'SECRET']}) as client: + wstask = await client.ws_connect('wss://...', send_json={'foo': 'bar'}, hdlr_json=pybotters.print_handler) + await wstask + # Ctrl+C to break + + .. code-block:: python + + r = pybotters.get('https://...', params={'foo': 'bar'}, apis={'example': ['KEY', 'SECRET']}) + print(r.text()) + print(r.json()) + + .. code-block:: python + + pybotters.ws_connect('wss://...', send_json={'foo': 'bar'}, hdlr_json=pybotters.print_handler, apis={'example': ['KEY', 'SECRET']}) + # Ctrl+C to break + """ _session: aiohttp.ClientSession _base_url: str @@ -28,6 +62,10 @@ def __init__( base_url: str = '', **kwargs: Any, ) -> None: + """ + :param apis: APIキー・シークレットのデータ(optional) ex: {'exchange': ['key', 'secret']} + :param base_url: リクエストメソッドの url の前方に自動付加するURL(optional) + """ self._session = aiohttp.ClientSession( request_class=ClientRequest, ws_response_class=ClientWebSocketResponse, @@ -78,6 +116,14 @@ def request( data: Any = None, **kwargs: Any, ) -> _RequestContextManager: + """ + :param method: GET, POST, PUT, DELETE などのHTTPメソッド + :param url: リクエストURL + :param params: URLのクエリ文字列(optional) + :param data: リクエストボディ(optional) + :param headers: リクエストヘッダー(optional) + :param auth: API自動認証の機能の有効/無効。デフォルトで有効。auth=Noneを指定することで無効になります(optional) + """ return self._request(method, url, params=params, data=data, **kwargs) def get( @@ -126,6 +172,15 @@ async def ws_connect( hdlr_json: Optional[WsJsonHandler] = None, **kwargs: Any, ) -> asyncio.Task: + """ + :param url: WebSocket URL + :param send_str: WebSocketで送信する文字列。文字列、または文字列のリスト形式(optional) + :param send_json: WebSocketで送信する辞書オブジェクト。辞書、または辞書のリスト形式(optional) + :param hdlr_str: WebSocketの受信データをハンドリングする関数。第1引数 msg に _str_型, 第2引数 ws に WebSocketClientResponse 型の変数が渡されます(optional) + :param hdlr_json: WebSocketの受信データをハンドリングする関数。第1引数 msg に Any 型(JSON-like), 第2引数 ws に WebSocketClientResponse 型の変数が渡されます(optional) + :param headers: リクエストヘッダー(optional) + :param auth: API自動認証の機能の有効/無効。デフォルトで有効。auth=Noneを指定することで無効になります(optional) + """ event = asyncio.Event() task = asyncio.create_task( ws_run_forever( From 12c77a2ae2de3bef4efee7c89988fa1e7c13d1b9 Mon Sep 17 00:00:00 2001 From: driller Date: Wed, 3 Nov 2021 09:51:54 +0900 Subject: [PATCH 14/25] remove generated files by sphinx.ext.autosummary --- .gitignore | 4 ++ .../pybotters.SyncClientResponse.rst | 57 ----------------- docs/generated/pybotters.auth.Auth.rst | 32 ---------- docs/generated/pybotters.auth.Hosts.rst | 28 --------- docs/generated/pybotters.auth.Item.rst | 29 --------- docs/generated/pybotters.auth.rst | 32 ---------- docs/generated/pybotters.client.Client.rst | 29 --------- docs/generated/pybotters.client.rst | 30 --------- .../pybotters.models.binance.Balance.rst | 25 -------- ...otters.models.binance.BinanceDataStore.rst | 43 ------------- .../pybotters.models.binance.BookTicker.rst | 25 -------- ...botters.models.binance.ContinuousKline.rst | 25 -------- .../pybotters.models.binance.Kline.rst | 25 -------- .../pybotters.models.binance.Liquidation.rst | 25 -------- .../pybotters.models.binance.MarkPrice.rst | 25 -------- .../pybotters.models.binance.Order.rst | 25 -------- .../pybotters.models.binance.OrderBook.rst | 26 -------- .../pybotters.models.binance.Position.rst | 25 -------- .../pybotters.models.binance.Ticker.rst | 25 -------- .../pybotters.models.binance.Trade.rst | 25 -------- docs/generated/pybotters.models.binance.rst | 41 ------------ .../pybotters.models.bitbank.Depth.rst | 26 -------- .../pybotters.models.bitbank.Ticker.rst | 25 -------- .../pybotters.models.bitbank.Transactions.rst | 25 -------- ...otters.models.bitbank.bitbankDataStore.rst | 34 ---------- docs/generated/pybotters.models.bitbank.rst | 33 ---------- .../pybotters.models.bitflyer.Board.rst | 26 -------- ...tters.models.bitflyer.ChildOrderEvents.rst | 25 -------- .../pybotters.models.bitflyer.ChildOrders.rst | 25 -------- .../pybotters.models.bitflyer.Executions.rst | 25 -------- ...ters.models.bitflyer.ParentOrderEvents.rst | 25 -------- ...pybotters.models.bitflyer.ParentOrders.rst | 25 -------- .../pybotters.models.bitflyer.Positions.rst | 25 -------- .../pybotters.models.bitflyer.Ticker.rst | 25 -------- ...ters.models.bitflyer.bitFlyerDataStore.rst | 40 ------------ docs/generated/pybotters.models.bitflyer.rst | 38 ----------- ...ybotters.models.bitmex.BitMEXDataStore.rst | 43 ------------- docs/generated/pybotters.models.bitmex.rst | 30 --------- .../pybotters.models.bybit.BybitDataStore.rst | 44 ------------- .../pybotters.models.bybit.Execution.rst | 25 -------- .../pybotters.models.bybit.Instrument.rst | 25 -------- .../pybotters.models.bybit.Insurance.rst | 25 -------- .../pybotters.models.bybit.Kline.rst | 25 -------- .../pybotters.models.bybit.Liquidation.rst | 25 -------- .../pybotters.models.bybit.Order.rst | 25 -------- .../pybotters.models.bybit.OrderBook.rst | 26 -------- ...pybotters.models.bybit.PositionInverse.rst | 27 -------- .../pybotters.models.bybit.PositionUSDT.rst | 26 -------- .../pybotters.models.bybit.StopOrder.rst | 25 -------- .../pybotters.models.bybit.Trade.rst | 25 -------- .../pybotters.models.bybit.Wallet.rst | 25 -------- docs/generated/pybotters.models.bybit.rst | 42 ------------- ...perimental.bybit.BybitInverseDataStore.rst | 42 ------------- ....experimental.bybit.BybitUSDTDataStore.rst | 42 ------------- ...odels.experimental.bybit.CastDataStore.rst | 25 -------- ...ls.experimental.bybit.ExecutionInverse.rst | 25 -------- ...odels.experimental.bybit.ExecutionUSDT.rst | 25 -------- ...s.experimental.bybit.InstrumentInverse.rst | 25 -------- ...dels.experimental.bybit.InstrumentUSDT.rst | 25 -------- ...rs.models.experimental.bybit.Insurance.rst | 25 -------- ...models.experimental.bybit.KlineInverse.rst | 25 -------- ...rs.models.experimental.bybit.KlineUSDT.rst | 25 -------- ....experimental.bybit.LiquidationInverse.rst | 25 -------- ...els.experimental.bybit.LiquidationUSDT.rst | 25 -------- ...ls.experimental.bybit.OrderBookInverse.rst | 26 -------- ...odels.experimental.bybit.OrderBookUSDT.rst | 26 -------- ...models.experimental.bybit.OrderInverse.rst | 25 -------- ...rs.models.experimental.bybit.OrderUSDT.rst | 25 -------- ...els.experimental.bybit.PositionInverse.rst | 27 -------- ...models.experimental.bybit.PositionUSDT.rst | 27 -------- ...ls.experimental.bybit.StopOrderInverse.rst | 25 -------- ...odels.experimental.bybit.StopOrderUSDT.rst | 25 -------- ...models.experimental.bybit.TradeInverse.rst | 25 -------- ...rs.models.experimental.bybit.TradeUSDT.rst | 25 -------- ...tters.models.experimental.bybit.Wallet.rst | 25 -------- .../pybotters.models.experimental.bybit.rst | 52 --------------- .../pybotters.models.experimental.rst | 31 --------- .../pybotters.models.ftx.FTXDataStore.rst | 39 ------------ docs/generated/pybotters.models.ftx.Fills.rst | 25 -------- .../pybotters.models.ftx.Markets.rst | 25 -------- .../pybotters.models.ftx.OrderBook.rst | 26 -------- .../generated/pybotters.models.ftx.Orders.rst | 25 -------- .../pybotters.models.ftx.Positions.rst | 25 -------- .../generated/pybotters.models.ftx.Ticker.rst | 25 -------- .../generated/pybotters.models.ftx.Trades.rst | 25 -------- docs/generated/pybotters.models.ftx.rst | 37 ----------- .../pybotters.models.gmocoin.ApiType.rst | 23 ------- .../pybotters.models.gmocoin.CancelType.rst | 35 ----------- .../pybotters.models.gmocoin.Channel.rst | 34 ---------- .../pybotters.models.gmocoin.Execution.rst | 55 ---------------- ...ybotters.models.gmocoin.ExecutionStore.rst | 26 -------- ...pybotters.models.gmocoin.ExecutionType.rst | 24 ------- ...otters.models.gmocoin.GMOCoinDataStore.rst | 39 ------------ ...pybotters.models.gmocoin.MessageHelper.rst | 35 ----------- .../pybotters.models.gmocoin.MessageType.rst | 33 ---------- .../pybotters.models.gmocoin.Order.rst | 51 --------------- .../pybotters.models.gmocoin.OrderBook.rst | 42 ------------- ...ybotters.models.gmocoin.OrderBookStore.rst | 26 -------- .../pybotters.models.gmocoin.OrderLevel.rst | 42 ------------- .../pybotters.models.gmocoin.OrderSide.rst | 23 ------- .../pybotters.models.gmocoin.OrderStatus.rst | 28 --------- .../pybotters.models.gmocoin.OrderStore.rst | 25 -------- .../pybotters.models.gmocoin.OrderType.rst | 23 ------- .../pybotters.models.gmocoin.Position.rst | 48 -------------- ...pybotters.models.gmocoin.PositionStore.rst | 25 -------- ...botters.models.gmocoin.PositionSummary.rst | 45 ------------- ...rs.models.gmocoin.PositionSummaryStore.rst | 25 -------- .../pybotters.models.gmocoin.SettleType.rst | 24 ------- .../pybotters.models.gmocoin.Symbol.rst | 31 --------- .../pybotters.models.gmocoin.Ticker.rst | 46 -------------- .../pybotters.models.gmocoin.TickerStore.rst | 25 -------- .../pybotters.models.gmocoin.TimeInForce.rst | 25 -------- .../pybotters.models.gmocoin.Trade.rst | 43 ------------- .../pybotters.models.gmocoin.TradeStore.rst | 25 -------- docs/generated/pybotters.models.gmocoin.rst | 63 ------------------- docs/generated/pybotters.models.rst | 38 ----------- docs/generated/pybotters.request.rst | 6 -- docs/generated/pybotters.rst | 56 ----------------- docs/generated/pybotters.store.DataStore.rst | 25 -------- .../pybotters.store.DataStoreManager.rst | 26 -------- docs/generated/pybotters.store.rst | 31 --------- docs/generated/pybotters.typedefs.rst | 23 ------- docs/generated/pybotters.ws.Auth.rst | 26 -------- docs/generated/pybotters.ws.AuthHosts.rst | 28 --------- .../pybotters.ws.ClientWebSocketResponse.rst | 44 ------------- docs/generated/pybotters.ws.Heartbeat.rst | 28 --------- .../generated/pybotters.ws.HeartbeatHosts.rst | 28 --------- docs/generated/pybotters.ws.Item.rst | 29 --------- docs/generated/pybotters.ws.RequestLimit.rst | 23 ------- .../pybotters.ws.RequestLimitHosts.rst | 28 --------- docs/generated/pybotters.ws.rst | 43 ------------- 131 files changed, 4 insertions(+), 3903 deletions(-) delete mode 100644 docs/generated/pybotters.SyncClientResponse.rst delete mode 100644 docs/generated/pybotters.auth.Auth.rst delete mode 100644 docs/generated/pybotters.auth.Hosts.rst delete mode 100644 docs/generated/pybotters.auth.Item.rst delete mode 100644 docs/generated/pybotters.auth.rst delete mode 100644 docs/generated/pybotters.client.Client.rst delete mode 100644 docs/generated/pybotters.client.rst delete mode 100644 docs/generated/pybotters.models.binance.Balance.rst delete mode 100644 docs/generated/pybotters.models.binance.BinanceDataStore.rst delete mode 100644 docs/generated/pybotters.models.binance.BookTicker.rst delete mode 100644 docs/generated/pybotters.models.binance.ContinuousKline.rst delete mode 100644 docs/generated/pybotters.models.binance.Kline.rst delete mode 100644 docs/generated/pybotters.models.binance.Liquidation.rst delete mode 100644 docs/generated/pybotters.models.binance.MarkPrice.rst delete mode 100644 docs/generated/pybotters.models.binance.Order.rst delete mode 100644 docs/generated/pybotters.models.binance.OrderBook.rst delete mode 100644 docs/generated/pybotters.models.binance.Position.rst delete mode 100644 docs/generated/pybotters.models.binance.Ticker.rst delete mode 100644 docs/generated/pybotters.models.binance.Trade.rst delete mode 100644 docs/generated/pybotters.models.binance.rst delete mode 100644 docs/generated/pybotters.models.bitbank.Depth.rst delete mode 100644 docs/generated/pybotters.models.bitbank.Ticker.rst delete mode 100644 docs/generated/pybotters.models.bitbank.Transactions.rst delete mode 100644 docs/generated/pybotters.models.bitbank.bitbankDataStore.rst delete mode 100644 docs/generated/pybotters.models.bitbank.rst delete mode 100644 docs/generated/pybotters.models.bitflyer.Board.rst delete mode 100644 docs/generated/pybotters.models.bitflyer.ChildOrderEvents.rst delete mode 100644 docs/generated/pybotters.models.bitflyer.ChildOrders.rst delete mode 100644 docs/generated/pybotters.models.bitflyer.Executions.rst delete mode 100644 docs/generated/pybotters.models.bitflyer.ParentOrderEvents.rst delete mode 100644 docs/generated/pybotters.models.bitflyer.ParentOrders.rst delete mode 100644 docs/generated/pybotters.models.bitflyer.Positions.rst delete mode 100644 docs/generated/pybotters.models.bitflyer.Ticker.rst delete mode 100644 docs/generated/pybotters.models.bitflyer.bitFlyerDataStore.rst delete mode 100644 docs/generated/pybotters.models.bitflyer.rst delete mode 100644 docs/generated/pybotters.models.bitmex.BitMEXDataStore.rst delete mode 100644 docs/generated/pybotters.models.bitmex.rst delete mode 100644 docs/generated/pybotters.models.bybit.BybitDataStore.rst delete mode 100644 docs/generated/pybotters.models.bybit.Execution.rst delete mode 100644 docs/generated/pybotters.models.bybit.Instrument.rst delete mode 100644 docs/generated/pybotters.models.bybit.Insurance.rst delete mode 100644 docs/generated/pybotters.models.bybit.Kline.rst delete mode 100644 docs/generated/pybotters.models.bybit.Liquidation.rst delete mode 100644 docs/generated/pybotters.models.bybit.Order.rst delete mode 100644 docs/generated/pybotters.models.bybit.OrderBook.rst delete mode 100644 docs/generated/pybotters.models.bybit.PositionInverse.rst delete mode 100644 docs/generated/pybotters.models.bybit.PositionUSDT.rst delete mode 100644 docs/generated/pybotters.models.bybit.StopOrder.rst delete mode 100644 docs/generated/pybotters.models.bybit.Trade.rst delete mode 100644 docs/generated/pybotters.models.bybit.Wallet.rst delete mode 100644 docs/generated/pybotters.models.bybit.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.BybitInverseDataStore.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.BybitUSDTDataStore.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.CastDataStore.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.ExecutionInverse.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.ExecutionUSDT.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.InstrumentInverse.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.InstrumentUSDT.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.Insurance.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.KlineInverse.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.KlineUSDT.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.LiquidationInverse.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.LiquidationUSDT.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.OrderBookInverse.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.OrderBookUSDT.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.OrderInverse.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.OrderUSDT.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.PositionInverse.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.PositionUSDT.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.StopOrderInverse.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.StopOrderUSDT.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.TradeInverse.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.TradeUSDT.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.Wallet.rst delete mode 100644 docs/generated/pybotters.models.experimental.bybit.rst delete mode 100644 docs/generated/pybotters.models.experimental.rst delete mode 100644 docs/generated/pybotters.models.ftx.FTXDataStore.rst delete mode 100644 docs/generated/pybotters.models.ftx.Fills.rst delete mode 100644 docs/generated/pybotters.models.ftx.Markets.rst delete mode 100644 docs/generated/pybotters.models.ftx.OrderBook.rst delete mode 100644 docs/generated/pybotters.models.ftx.Orders.rst delete mode 100644 docs/generated/pybotters.models.ftx.Positions.rst delete mode 100644 docs/generated/pybotters.models.ftx.Ticker.rst delete mode 100644 docs/generated/pybotters.models.ftx.Trades.rst delete mode 100644 docs/generated/pybotters.models.ftx.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.ApiType.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.CancelType.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.Channel.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.Execution.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.ExecutionStore.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.ExecutionType.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.GMOCoinDataStore.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.MessageHelper.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.MessageType.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.Order.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.OrderBook.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.OrderBookStore.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.OrderLevel.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.OrderSide.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.OrderStatus.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.OrderStore.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.OrderType.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.Position.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.PositionStore.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.PositionSummary.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.PositionSummaryStore.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.SettleType.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.Symbol.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.Ticker.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.TickerStore.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.TimeInForce.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.Trade.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.TradeStore.rst delete mode 100644 docs/generated/pybotters.models.gmocoin.rst delete mode 100644 docs/generated/pybotters.models.rst delete mode 100644 docs/generated/pybotters.request.rst delete mode 100644 docs/generated/pybotters.rst delete mode 100644 docs/generated/pybotters.store.DataStore.rst delete mode 100644 docs/generated/pybotters.store.DataStoreManager.rst delete mode 100644 docs/generated/pybotters.store.rst delete mode 100644 docs/generated/pybotters.typedefs.rst delete mode 100644 docs/generated/pybotters.ws.Auth.rst delete mode 100644 docs/generated/pybotters.ws.AuthHosts.rst delete mode 100644 docs/generated/pybotters.ws.ClientWebSocketResponse.rst delete mode 100644 docs/generated/pybotters.ws.Heartbeat.rst delete mode 100644 docs/generated/pybotters.ws.HeartbeatHosts.rst delete mode 100644 docs/generated/pybotters.ws.Item.rst delete mode 100644 docs/generated/pybotters.ws.RequestLimit.rst delete mode 100644 docs/generated/pybotters.ws.RequestLimitHosts.rst delete mode 100644 docs/generated/pybotters.ws.rst diff --git a/.gitignore b/.gitignore index f48b391..b85b08a 100644 --- a/.gitignore +++ b/.gitignore @@ -130,3 +130,7 @@ dmypy.json # Visual Studio Code .vscode/ + +# sphinx.ext.autosummary + +generated \ No newline at end of file diff --git a/docs/generated/pybotters.SyncClientResponse.rst b/docs/generated/pybotters.SyncClientResponse.rst deleted file mode 100644 index acfcef6..0000000 --- a/docs/generated/pybotters.SyncClientResponse.rst +++ /dev/null @@ -1,57 +0,0 @@ -pybotters.SyncClientResponse -============================ - -.. currentmodule:: pybotters - -.. autoclass:: SyncClientResponse - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~SyncClientResponse.__init__ - ~SyncClientResponse.close - ~SyncClientResponse.get_encoding - ~SyncClientResponse.json - ~SyncClientResponse.raise_for_status - ~SyncClientResponse.read - ~SyncClientResponse.release - ~SyncClientResponse.start - ~SyncClientResponse.text - ~SyncClientResponse.wait_for_close - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~SyncClientResponse.ATTRS - ~SyncClientResponse.charset - ~SyncClientResponse.closed - ~SyncClientResponse.connection - ~SyncClientResponse.content - ~SyncClientResponse.content_disposition - ~SyncClientResponse.content_length - ~SyncClientResponse.content_type - ~SyncClientResponse.headers - ~SyncClientResponse.history - ~SyncClientResponse.host - ~SyncClientResponse.links - ~SyncClientResponse.ok - ~SyncClientResponse.raw_headers - ~SyncClientResponse.real_url - ~SyncClientResponse.reason - ~SyncClientResponse.request_info - ~SyncClientResponse.status - ~SyncClientResponse.url - ~SyncClientResponse.url_obj - ~SyncClientResponse.version - - \ No newline at end of file diff --git a/docs/generated/pybotters.auth.Auth.rst b/docs/generated/pybotters.auth.Auth.rst deleted file mode 100644 index 4101e96..0000000 --- a/docs/generated/pybotters.auth.Auth.rst +++ /dev/null @@ -1,32 +0,0 @@ -pybotters.auth.Auth -=================== - -.. currentmodule:: pybotters.auth - -.. autoclass:: Auth - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Auth.__init__ - ~Auth.binance - ~Auth.bitbank - ~Auth.bitflyer - ~Auth.bitmex - ~Auth.bybit - ~Auth.coincheck - ~Auth.ftx - ~Auth.gmocoin - ~Auth.liquid - ~Auth.phemex - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.auth.Hosts.rst b/docs/generated/pybotters.auth.Hosts.rst deleted file mode 100644 index 94f0aa5..0000000 --- a/docs/generated/pybotters.auth.Hosts.rst +++ /dev/null @@ -1,28 +0,0 @@ -pybotters.auth.Hosts -==================== - -.. currentmodule:: pybotters.auth - -.. autoclass:: Hosts - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Hosts.__init__ - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~Hosts.items - - \ No newline at end of file diff --git a/docs/generated/pybotters.auth.Item.rst b/docs/generated/pybotters.auth.Item.rst deleted file mode 100644 index 1b10295..0000000 --- a/docs/generated/pybotters.auth.Item.rst +++ /dev/null @@ -1,29 +0,0 @@ -pybotters.auth.Item -=================== - -.. currentmodule:: pybotters.auth - -.. autoclass:: Item - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Item.__init__ - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~Item.name - ~Item.func - - \ No newline at end of file diff --git a/docs/generated/pybotters.auth.rst b/docs/generated/pybotters.auth.rst deleted file mode 100644 index 9934a55..0000000 --- a/docs/generated/pybotters.auth.rst +++ /dev/null @@ -1,32 +0,0 @@ -pybotters.auth -============== - -.. automodule:: pybotters.auth - - - - - - - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - Auth - Hosts - Item - - - - - - - - - diff --git a/docs/generated/pybotters.client.Client.rst b/docs/generated/pybotters.client.Client.rst deleted file mode 100644 index dde404f..0000000 --- a/docs/generated/pybotters.client.Client.rst +++ /dev/null @@ -1,29 +0,0 @@ -pybotters.client.Client -======================= - -.. currentmodule:: pybotters.client - -.. autoclass:: Client - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Client.__init__ - ~Client.close - ~Client.delete - ~Client.get - ~Client.post - ~Client.put - ~Client.request - ~Client.ws_connect - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.client.rst b/docs/generated/pybotters.client.rst deleted file mode 100644 index 9a473b7..0000000 --- a/docs/generated/pybotters.client.rst +++ /dev/null @@ -1,30 +0,0 @@ -pybotters.client -================ - -.. automodule:: pybotters.client - - - - - - - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - Client - - - - - - - - - diff --git a/docs/generated/pybotters.models.binance.Balance.rst b/docs/generated/pybotters.models.binance.Balance.rst deleted file mode 100644 index c027cfe..0000000 --- a/docs/generated/pybotters.models.binance.Balance.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.binance.Balance -================================ - -.. currentmodule:: pybotters.models.binance - -.. autoclass:: Balance - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Balance.__init__ - ~Balance.find - ~Balance.get - ~Balance.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.BinanceDataStore.rst b/docs/generated/pybotters.models.binance.BinanceDataStore.rst deleted file mode 100644 index 6607c0d..0000000 --- a/docs/generated/pybotters.models.binance.BinanceDataStore.rst +++ /dev/null @@ -1,43 +0,0 @@ -pybotters.models.binance.BinanceDataStore -========================================= - -.. currentmodule:: pybotters.models.binance - -.. autoclass:: BinanceDataStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~BinanceDataStore.__init__ - ~BinanceDataStore.create - ~BinanceDataStore.get - ~BinanceDataStore.initialize - ~BinanceDataStore.onmessage - ~BinanceDataStore.wait - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~BinanceDataStore.balance - ~BinanceDataStore.bookticker - ~BinanceDataStore.continuouskline - ~BinanceDataStore.kline - ~BinanceDataStore.liquidation - ~BinanceDataStore.markprice - ~BinanceDataStore.order - ~BinanceDataStore.orderbook - ~BinanceDataStore.position - ~BinanceDataStore.ticker - ~BinanceDataStore.trade - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.BookTicker.rst b/docs/generated/pybotters.models.binance.BookTicker.rst deleted file mode 100644 index 528f469..0000000 --- a/docs/generated/pybotters.models.binance.BookTicker.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.binance.BookTicker -=================================== - -.. currentmodule:: pybotters.models.binance - -.. autoclass:: BookTicker - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~BookTicker.__init__ - ~BookTicker.find - ~BookTicker.get - ~BookTicker.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.ContinuousKline.rst b/docs/generated/pybotters.models.binance.ContinuousKline.rst deleted file mode 100644 index 94d43d2..0000000 --- a/docs/generated/pybotters.models.binance.ContinuousKline.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.binance.ContinuousKline -======================================== - -.. currentmodule:: pybotters.models.binance - -.. autoclass:: ContinuousKline - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~ContinuousKline.__init__ - ~ContinuousKline.find - ~ContinuousKline.get - ~ContinuousKline.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.Kline.rst b/docs/generated/pybotters.models.binance.Kline.rst deleted file mode 100644 index fd85cdb..0000000 --- a/docs/generated/pybotters.models.binance.Kline.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.binance.Kline -============================== - -.. currentmodule:: pybotters.models.binance - -.. autoclass:: Kline - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Kline.__init__ - ~Kline.find - ~Kline.get - ~Kline.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.Liquidation.rst b/docs/generated/pybotters.models.binance.Liquidation.rst deleted file mode 100644 index b2a5a8b..0000000 --- a/docs/generated/pybotters.models.binance.Liquidation.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.binance.Liquidation -==================================== - -.. currentmodule:: pybotters.models.binance - -.. autoclass:: Liquidation - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Liquidation.__init__ - ~Liquidation.find - ~Liquidation.get - ~Liquidation.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.MarkPrice.rst b/docs/generated/pybotters.models.binance.MarkPrice.rst deleted file mode 100644 index c01ccfb..0000000 --- a/docs/generated/pybotters.models.binance.MarkPrice.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.binance.MarkPrice -================================== - -.. currentmodule:: pybotters.models.binance - -.. autoclass:: MarkPrice - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~MarkPrice.__init__ - ~MarkPrice.find - ~MarkPrice.get - ~MarkPrice.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.Order.rst b/docs/generated/pybotters.models.binance.Order.rst deleted file mode 100644 index f3b2763..0000000 --- a/docs/generated/pybotters.models.binance.Order.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.binance.Order -============================== - -.. currentmodule:: pybotters.models.binance - -.. autoclass:: Order - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Order.__init__ - ~Order.find - ~Order.get - ~Order.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.OrderBook.rst b/docs/generated/pybotters.models.binance.OrderBook.rst deleted file mode 100644 index 4278f15..0000000 --- a/docs/generated/pybotters.models.binance.OrderBook.rst +++ /dev/null @@ -1,26 +0,0 @@ -pybotters.models.binance.OrderBook -================================== - -.. currentmodule:: pybotters.models.binance - -.. autoclass:: OrderBook - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~OrderBook.__init__ - ~OrderBook.find - ~OrderBook.get - ~OrderBook.sorted - ~OrderBook.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.Position.rst b/docs/generated/pybotters.models.binance.Position.rst deleted file mode 100644 index 07aa331..0000000 --- a/docs/generated/pybotters.models.binance.Position.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.binance.Position -================================= - -.. currentmodule:: pybotters.models.binance - -.. autoclass:: Position - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Position.__init__ - ~Position.find - ~Position.get - ~Position.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.Ticker.rst b/docs/generated/pybotters.models.binance.Ticker.rst deleted file mode 100644 index 90321c7..0000000 --- a/docs/generated/pybotters.models.binance.Ticker.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.binance.Ticker -=============================== - -.. currentmodule:: pybotters.models.binance - -.. autoclass:: Ticker - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Ticker.__init__ - ~Ticker.find - ~Ticker.get - ~Ticker.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.Trade.rst b/docs/generated/pybotters.models.binance.Trade.rst deleted file mode 100644 index 9768d83..0000000 --- a/docs/generated/pybotters.models.binance.Trade.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.binance.Trade -============================== - -.. currentmodule:: pybotters.models.binance - -.. autoclass:: Trade - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Trade.__init__ - ~Trade.find - ~Trade.get - ~Trade.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.binance.rst b/docs/generated/pybotters.models.binance.rst deleted file mode 100644 index 72fe5e5..0000000 --- a/docs/generated/pybotters.models.binance.rst +++ /dev/null @@ -1,41 +0,0 @@ -pybotters.models.binance -======================== - -.. automodule:: pybotters.models.binance - - - - - - - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - Balance - BinanceDataStore - BookTicker - ContinuousKline - Kline - Liquidation - MarkPrice - Order - OrderBook - Position - Ticker - Trade - - - - - - - - - diff --git a/docs/generated/pybotters.models.bitbank.Depth.rst b/docs/generated/pybotters.models.bitbank.Depth.rst deleted file mode 100644 index 841a730..0000000 --- a/docs/generated/pybotters.models.bitbank.Depth.rst +++ /dev/null @@ -1,26 +0,0 @@ -pybotters.models.bitbank.Depth -============================== - -.. currentmodule:: pybotters.models.bitbank - -.. autoclass:: Depth - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Depth.__init__ - ~Depth.find - ~Depth.get - ~Depth.sorted - ~Depth.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitbank.Ticker.rst b/docs/generated/pybotters.models.bitbank.Ticker.rst deleted file mode 100644 index 38adcab..0000000 --- a/docs/generated/pybotters.models.bitbank.Ticker.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bitbank.Ticker -=============================== - -.. currentmodule:: pybotters.models.bitbank - -.. autoclass:: Ticker - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Ticker.__init__ - ~Ticker.find - ~Ticker.get - ~Ticker.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitbank.Transactions.rst b/docs/generated/pybotters.models.bitbank.Transactions.rst deleted file mode 100644 index e63609c..0000000 --- a/docs/generated/pybotters.models.bitbank.Transactions.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bitbank.Transactions -===================================== - -.. currentmodule:: pybotters.models.bitbank - -.. autoclass:: Transactions - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Transactions.__init__ - ~Transactions.find - ~Transactions.get - ~Transactions.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitbank.bitbankDataStore.rst b/docs/generated/pybotters.models.bitbank.bitbankDataStore.rst deleted file mode 100644 index 453db3f..0000000 --- a/docs/generated/pybotters.models.bitbank.bitbankDataStore.rst +++ /dev/null @@ -1,34 +0,0 @@ -pybotters.models.bitbank.bitbankDataStore -========================================= - -.. currentmodule:: pybotters.models.bitbank - -.. autoclass:: bitbankDataStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~bitbankDataStore.__init__ - ~bitbankDataStore.create - ~bitbankDataStore.get - ~bitbankDataStore.onmessage - ~bitbankDataStore.wait - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~bitbankDataStore.depth - ~bitbankDataStore.ticker - ~bitbankDataStore.transactions - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitbank.rst b/docs/generated/pybotters.models.bitbank.rst deleted file mode 100644 index 80227c1..0000000 --- a/docs/generated/pybotters.models.bitbank.rst +++ /dev/null @@ -1,33 +0,0 @@ -pybotters.models.bitbank -======================== - -.. automodule:: pybotters.models.bitbank - - - - - - - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - Depth - Ticker - Transactions - bitbankDataStore - - - - - - - - - diff --git a/docs/generated/pybotters.models.bitflyer.Board.rst b/docs/generated/pybotters.models.bitflyer.Board.rst deleted file mode 100644 index 7bc1048..0000000 --- a/docs/generated/pybotters.models.bitflyer.Board.rst +++ /dev/null @@ -1,26 +0,0 @@ -pybotters.models.bitflyer.Board -=============================== - -.. currentmodule:: pybotters.models.bitflyer - -.. autoclass:: Board - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Board.__init__ - ~Board.find - ~Board.get - ~Board.sorted - ~Board.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.ChildOrderEvents.rst b/docs/generated/pybotters.models.bitflyer.ChildOrderEvents.rst deleted file mode 100644 index 003bdcb..0000000 --- a/docs/generated/pybotters.models.bitflyer.ChildOrderEvents.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bitflyer.ChildOrderEvents -========================================== - -.. currentmodule:: pybotters.models.bitflyer - -.. autoclass:: ChildOrderEvents - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~ChildOrderEvents.__init__ - ~ChildOrderEvents.find - ~ChildOrderEvents.get - ~ChildOrderEvents.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.ChildOrders.rst b/docs/generated/pybotters.models.bitflyer.ChildOrders.rst deleted file mode 100644 index c1f25e8..0000000 --- a/docs/generated/pybotters.models.bitflyer.ChildOrders.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bitflyer.ChildOrders -===================================== - -.. currentmodule:: pybotters.models.bitflyer - -.. autoclass:: ChildOrders - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~ChildOrders.__init__ - ~ChildOrders.find - ~ChildOrders.get - ~ChildOrders.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.Executions.rst b/docs/generated/pybotters.models.bitflyer.Executions.rst deleted file mode 100644 index 6718798..0000000 --- a/docs/generated/pybotters.models.bitflyer.Executions.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bitflyer.Executions -==================================== - -.. currentmodule:: pybotters.models.bitflyer - -.. autoclass:: Executions - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Executions.__init__ - ~Executions.find - ~Executions.get - ~Executions.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.ParentOrderEvents.rst b/docs/generated/pybotters.models.bitflyer.ParentOrderEvents.rst deleted file mode 100644 index 0e91e22..0000000 --- a/docs/generated/pybotters.models.bitflyer.ParentOrderEvents.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bitflyer.ParentOrderEvents -=========================================== - -.. currentmodule:: pybotters.models.bitflyer - -.. autoclass:: ParentOrderEvents - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~ParentOrderEvents.__init__ - ~ParentOrderEvents.find - ~ParentOrderEvents.get - ~ParentOrderEvents.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.ParentOrders.rst b/docs/generated/pybotters.models.bitflyer.ParentOrders.rst deleted file mode 100644 index e7497b7..0000000 --- a/docs/generated/pybotters.models.bitflyer.ParentOrders.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bitflyer.ParentOrders -====================================== - -.. currentmodule:: pybotters.models.bitflyer - -.. autoclass:: ParentOrders - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~ParentOrders.__init__ - ~ParentOrders.find - ~ParentOrders.get - ~ParentOrders.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.Positions.rst b/docs/generated/pybotters.models.bitflyer.Positions.rst deleted file mode 100644 index 6606c8a..0000000 --- a/docs/generated/pybotters.models.bitflyer.Positions.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bitflyer.Positions -=================================== - -.. currentmodule:: pybotters.models.bitflyer - -.. autoclass:: Positions - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Positions.__init__ - ~Positions.find - ~Positions.get - ~Positions.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.Ticker.rst b/docs/generated/pybotters.models.bitflyer.Ticker.rst deleted file mode 100644 index 0f2ad28..0000000 --- a/docs/generated/pybotters.models.bitflyer.Ticker.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bitflyer.Ticker -================================ - -.. currentmodule:: pybotters.models.bitflyer - -.. autoclass:: Ticker - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Ticker.__init__ - ~Ticker.find - ~Ticker.get - ~Ticker.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.bitFlyerDataStore.rst b/docs/generated/pybotters.models.bitflyer.bitFlyerDataStore.rst deleted file mode 100644 index 201e610..0000000 --- a/docs/generated/pybotters.models.bitflyer.bitFlyerDataStore.rst +++ /dev/null @@ -1,40 +0,0 @@ -pybotters.models.bitflyer.bitFlyerDataStore -=========================================== - -.. currentmodule:: pybotters.models.bitflyer - -.. autoclass:: bitFlyerDataStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~bitFlyerDataStore.__init__ - ~bitFlyerDataStore.create - ~bitFlyerDataStore.get - ~bitFlyerDataStore.initialize - ~bitFlyerDataStore.onmessage - ~bitFlyerDataStore.wait - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~bitFlyerDataStore.board - ~bitFlyerDataStore.childorderevents - ~bitFlyerDataStore.childorders - ~bitFlyerDataStore.executions - ~bitFlyerDataStore.parentorderevents - ~bitFlyerDataStore.parentorders - ~bitFlyerDataStore.positions - ~bitFlyerDataStore.ticker - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitflyer.rst b/docs/generated/pybotters.models.bitflyer.rst deleted file mode 100644 index 770ddca..0000000 --- a/docs/generated/pybotters.models.bitflyer.rst +++ /dev/null @@ -1,38 +0,0 @@ -pybotters.models.bitflyer -========================= - -.. automodule:: pybotters.models.bitflyer - - - - - - - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - Board - ChildOrderEvents - ChildOrders - Executions - ParentOrderEvents - ParentOrders - Positions - Ticker - bitFlyerDataStore - - - - - - - - - diff --git a/docs/generated/pybotters.models.bitmex.BitMEXDataStore.rst b/docs/generated/pybotters.models.bitmex.BitMEXDataStore.rst deleted file mode 100644 index 93f9ed9..0000000 --- a/docs/generated/pybotters.models.bitmex.BitMEXDataStore.rst +++ /dev/null @@ -1,43 +0,0 @@ -pybotters.models.bitmex.BitMEXDataStore -======================================= - -.. currentmodule:: pybotters.models.bitmex - -.. autoclass:: BitMEXDataStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~BitMEXDataStore.__init__ - ~BitMEXDataStore.create - ~BitMEXDataStore.get - ~BitMEXDataStore.onmessage - ~BitMEXDataStore.wait - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~BitMEXDataStore.execution - ~BitMEXDataStore.funding - ~BitMEXDataStore.instrument - ~BitMEXDataStore.insurance - ~BitMEXDataStore.liquidation - ~BitMEXDataStore.margin - ~BitMEXDataStore.order - ~BitMEXDataStore.orderbook - ~BitMEXDataStore.position - ~BitMEXDataStore.quote - ~BitMEXDataStore.trade - ~BitMEXDataStore.wallet - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bitmex.rst b/docs/generated/pybotters.models.bitmex.rst deleted file mode 100644 index 9705247..0000000 --- a/docs/generated/pybotters.models.bitmex.rst +++ /dev/null @@ -1,30 +0,0 @@ -pybotters.models.bitmex -======================= - -.. automodule:: pybotters.models.bitmex - - - - - - - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - BitMEXDataStore - - - - - - - - - diff --git a/docs/generated/pybotters.models.bybit.BybitDataStore.rst b/docs/generated/pybotters.models.bybit.BybitDataStore.rst deleted file mode 100644 index 747bf80..0000000 --- a/docs/generated/pybotters.models.bybit.BybitDataStore.rst +++ /dev/null @@ -1,44 +0,0 @@ -pybotters.models.bybit.BybitDataStore -===================================== - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: BybitDataStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~BybitDataStore.__init__ - ~BybitDataStore.create - ~BybitDataStore.get - ~BybitDataStore.initialize - ~BybitDataStore.onmessage - ~BybitDataStore.wait - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~BybitDataStore.execution - ~BybitDataStore.instrument - ~BybitDataStore.insurance - ~BybitDataStore.kline - ~BybitDataStore.liquidation - ~BybitDataStore.order - ~BybitDataStore.orderbook - ~BybitDataStore.position_inverse - ~BybitDataStore.position_usdt - ~BybitDataStore.stoporder - ~BybitDataStore.trade - ~BybitDataStore.wallet - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Execution.rst b/docs/generated/pybotters.models.bybit.Execution.rst deleted file mode 100644 index 78de60e..0000000 --- a/docs/generated/pybotters.models.bybit.Execution.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bybit.Execution -================================ - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: Execution - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Execution.__init__ - ~Execution.find - ~Execution.get - ~Execution.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Instrument.rst b/docs/generated/pybotters.models.bybit.Instrument.rst deleted file mode 100644 index f3894e3..0000000 --- a/docs/generated/pybotters.models.bybit.Instrument.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bybit.Instrument -================================= - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: Instrument - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Instrument.__init__ - ~Instrument.find - ~Instrument.get - ~Instrument.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Insurance.rst b/docs/generated/pybotters.models.bybit.Insurance.rst deleted file mode 100644 index 3c96cc8..0000000 --- a/docs/generated/pybotters.models.bybit.Insurance.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bybit.Insurance -================================ - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: Insurance - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Insurance.__init__ - ~Insurance.find - ~Insurance.get - ~Insurance.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Kline.rst b/docs/generated/pybotters.models.bybit.Kline.rst deleted file mode 100644 index f320330..0000000 --- a/docs/generated/pybotters.models.bybit.Kline.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bybit.Kline -============================ - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: Kline - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Kline.__init__ - ~Kline.find - ~Kline.get - ~Kline.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Liquidation.rst b/docs/generated/pybotters.models.bybit.Liquidation.rst deleted file mode 100644 index 799d35c..0000000 --- a/docs/generated/pybotters.models.bybit.Liquidation.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bybit.Liquidation -================================== - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: Liquidation - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Liquidation.__init__ - ~Liquidation.find - ~Liquidation.get - ~Liquidation.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Order.rst b/docs/generated/pybotters.models.bybit.Order.rst deleted file mode 100644 index f03f083..0000000 --- a/docs/generated/pybotters.models.bybit.Order.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bybit.Order -============================ - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: Order - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Order.__init__ - ~Order.find - ~Order.get - ~Order.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.OrderBook.rst b/docs/generated/pybotters.models.bybit.OrderBook.rst deleted file mode 100644 index 18d8074..0000000 --- a/docs/generated/pybotters.models.bybit.OrderBook.rst +++ /dev/null @@ -1,26 +0,0 @@ -pybotters.models.bybit.OrderBook -================================ - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: OrderBook - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~OrderBook.__init__ - ~OrderBook.find - ~OrderBook.get - ~OrderBook.sorted - ~OrderBook.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.PositionInverse.rst b/docs/generated/pybotters.models.bybit.PositionInverse.rst deleted file mode 100644 index c976206..0000000 --- a/docs/generated/pybotters.models.bybit.PositionInverse.rst +++ /dev/null @@ -1,27 +0,0 @@ -pybotters.models.bybit.PositionInverse -====================================== - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: PositionInverse - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~PositionInverse.__init__ - ~PositionInverse.find - ~PositionInverse.get - ~PositionInverse.getboth - ~PositionInverse.getone - ~PositionInverse.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.PositionUSDT.rst b/docs/generated/pybotters.models.bybit.PositionUSDT.rst deleted file mode 100644 index 4457be2..0000000 --- a/docs/generated/pybotters.models.bybit.PositionUSDT.rst +++ /dev/null @@ -1,26 +0,0 @@ -pybotters.models.bybit.PositionUSDT -=================================== - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: PositionUSDT - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~PositionUSDT.__init__ - ~PositionUSDT.find - ~PositionUSDT.get - ~PositionUSDT.getboth - ~PositionUSDT.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.StopOrder.rst b/docs/generated/pybotters.models.bybit.StopOrder.rst deleted file mode 100644 index a377b65..0000000 --- a/docs/generated/pybotters.models.bybit.StopOrder.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bybit.StopOrder -================================ - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: StopOrder - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~StopOrder.__init__ - ~StopOrder.find - ~StopOrder.get - ~StopOrder.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Trade.rst b/docs/generated/pybotters.models.bybit.Trade.rst deleted file mode 100644 index 41cf381..0000000 --- a/docs/generated/pybotters.models.bybit.Trade.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bybit.Trade -============================ - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: Trade - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Trade.__init__ - ~Trade.find - ~Trade.get - ~Trade.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.Wallet.rst b/docs/generated/pybotters.models.bybit.Wallet.rst deleted file mode 100644 index 432232c..0000000 --- a/docs/generated/pybotters.models.bybit.Wallet.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.bybit.Wallet -============================= - -.. currentmodule:: pybotters.models.bybit - -.. autoclass:: Wallet - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Wallet.__init__ - ~Wallet.find - ~Wallet.get - ~Wallet.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.bybit.rst b/docs/generated/pybotters.models.bybit.rst deleted file mode 100644 index 5546129..0000000 --- a/docs/generated/pybotters.models.bybit.rst +++ /dev/null @@ -1,42 +0,0 @@ -pybotters.models.bybit -====================== - -.. automodule:: pybotters.models.bybit - - - - - - - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - BybitDataStore - Execution - Instrument - Insurance - Kline - Liquidation - Order - OrderBook - PositionInverse - PositionUSDT - StopOrder - Trade - Wallet - - - - - - - - - diff --git a/docs/generated/pybotters.models.experimental.bybit.BybitInverseDataStore.rst b/docs/generated/pybotters.models.experimental.bybit.BybitInverseDataStore.rst deleted file mode 100644 index fdbbe86..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.BybitInverseDataStore.rst +++ /dev/null @@ -1,42 +0,0 @@ -pybotters.models.experimental.bybit.BybitInverseDataStore -========================================================= - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: BybitInverseDataStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~BybitInverseDataStore.__init__ - ~BybitInverseDataStore.create - ~BybitInverseDataStore.get - ~BybitInverseDataStore.initialize - ~BybitInverseDataStore.onmessage - ~BybitInverseDataStore.wait - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~BybitInverseDataStore.execution - ~BybitInverseDataStore.instrument - ~BybitInverseDataStore.insurance - ~BybitInverseDataStore.kline - ~BybitInverseDataStore.liquidation - ~BybitInverseDataStore.order - ~BybitInverseDataStore.orderbook - ~BybitInverseDataStore.position - ~BybitInverseDataStore.stoporder - ~BybitInverseDataStore.trade - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.BybitUSDTDataStore.rst b/docs/generated/pybotters.models.experimental.bybit.BybitUSDTDataStore.rst deleted file mode 100644 index 8f5bb53..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.BybitUSDTDataStore.rst +++ /dev/null @@ -1,42 +0,0 @@ -pybotters.models.experimental.bybit.BybitUSDTDataStore -====================================================== - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: BybitUSDTDataStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~BybitUSDTDataStore.__init__ - ~BybitUSDTDataStore.create - ~BybitUSDTDataStore.get - ~BybitUSDTDataStore.initialize - ~BybitUSDTDataStore.onmessage - ~BybitUSDTDataStore.wait - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~BybitUSDTDataStore.execution - ~BybitUSDTDataStore.instrument - ~BybitUSDTDataStore.kline - ~BybitUSDTDataStore.liquidation - ~BybitUSDTDataStore.order - ~BybitUSDTDataStore.orderbook - ~BybitUSDTDataStore.position - ~BybitUSDTDataStore.stoporder - ~BybitUSDTDataStore.trade - ~BybitUSDTDataStore.wallet - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.CastDataStore.rst b/docs/generated/pybotters.models.experimental.bybit.CastDataStore.rst deleted file mode 100644 index 64f6a07..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.CastDataStore.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.CastDataStore -================================================= - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: CastDataStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~CastDataStore.__init__ - ~CastDataStore.find - ~CastDataStore.get - ~CastDataStore.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.ExecutionInverse.rst b/docs/generated/pybotters.models.experimental.bybit.ExecutionInverse.rst deleted file mode 100644 index 34ca499..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.ExecutionInverse.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.ExecutionInverse -==================================================== - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: ExecutionInverse - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~ExecutionInverse.__init__ - ~ExecutionInverse.find - ~ExecutionInverse.get - ~ExecutionInverse.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.ExecutionUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.ExecutionUSDT.rst deleted file mode 100644 index db9f597..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.ExecutionUSDT.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.ExecutionUSDT -================================================= - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: ExecutionUSDT - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~ExecutionUSDT.__init__ - ~ExecutionUSDT.find - ~ExecutionUSDT.get - ~ExecutionUSDT.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.InstrumentInverse.rst b/docs/generated/pybotters.models.experimental.bybit.InstrumentInverse.rst deleted file mode 100644 index 59f9935..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.InstrumentInverse.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.InstrumentInverse -===================================================== - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: InstrumentInverse - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~InstrumentInverse.__init__ - ~InstrumentInverse.find - ~InstrumentInverse.get - ~InstrumentInverse.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.InstrumentUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.InstrumentUSDT.rst deleted file mode 100644 index 2f669bf..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.InstrumentUSDT.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.InstrumentUSDT -================================================== - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: InstrumentUSDT - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~InstrumentUSDT.__init__ - ~InstrumentUSDT.find - ~InstrumentUSDT.get - ~InstrumentUSDT.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.Insurance.rst b/docs/generated/pybotters.models.experimental.bybit.Insurance.rst deleted file mode 100644 index 85ff25e..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.Insurance.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.Insurance -============================================= - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: Insurance - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Insurance.__init__ - ~Insurance.find - ~Insurance.get - ~Insurance.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.KlineInverse.rst b/docs/generated/pybotters.models.experimental.bybit.KlineInverse.rst deleted file mode 100644 index 8d8a8a7..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.KlineInverse.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.KlineInverse -================================================ - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: KlineInverse - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~KlineInverse.__init__ - ~KlineInverse.find - ~KlineInverse.get - ~KlineInverse.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.KlineUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.KlineUSDT.rst deleted file mode 100644 index 389e280..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.KlineUSDT.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.KlineUSDT -============================================= - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: KlineUSDT - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~KlineUSDT.__init__ - ~KlineUSDT.find - ~KlineUSDT.get - ~KlineUSDT.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.LiquidationInverse.rst b/docs/generated/pybotters.models.experimental.bybit.LiquidationInverse.rst deleted file mode 100644 index 4d18ac8..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.LiquidationInverse.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.LiquidationInverse -====================================================== - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: LiquidationInverse - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~LiquidationInverse.__init__ - ~LiquidationInverse.find - ~LiquidationInverse.get - ~LiquidationInverse.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.LiquidationUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.LiquidationUSDT.rst deleted file mode 100644 index 1545b51..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.LiquidationUSDT.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.LiquidationUSDT -=================================================== - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: LiquidationUSDT - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~LiquidationUSDT.__init__ - ~LiquidationUSDT.find - ~LiquidationUSDT.get - ~LiquidationUSDT.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.OrderBookInverse.rst b/docs/generated/pybotters.models.experimental.bybit.OrderBookInverse.rst deleted file mode 100644 index a7c380f..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.OrderBookInverse.rst +++ /dev/null @@ -1,26 +0,0 @@ -pybotters.models.experimental.bybit.OrderBookInverse -==================================================== - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: OrderBookInverse - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~OrderBookInverse.__init__ - ~OrderBookInverse.find - ~OrderBookInverse.get - ~OrderBookInverse.sorted - ~OrderBookInverse.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.OrderBookUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.OrderBookUSDT.rst deleted file mode 100644 index 484144a..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.OrderBookUSDT.rst +++ /dev/null @@ -1,26 +0,0 @@ -pybotters.models.experimental.bybit.OrderBookUSDT -================================================= - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: OrderBookUSDT - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~OrderBookUSDT.__init__ - ~OrderBookUSDT.find - ~OrderBookUSDT.get - ~OrderBookUSDT.sorted - ~OrderBookUSDT.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.OrderInverse.rst b/docs/generated/pybotters.models.experimental.bybit.OrderInverse.rst deleted file mode 100644 index 4072655..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.OrderInverse.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.OrderInverse -================================================ - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: OrderInverse - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~OrderInverse.__init__ - ~OrderInverse.find - ~OrderInverse.get - ~OrderInverse.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.OrderUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.OrderUSDT.rst deleted file mode 100644 index 1c651ec..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.OrderUSDT.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.OrderUSDT -============================================= - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: OrderUSDT - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~OrderUSDT.__init__ - ~OrderUSDT.find - ~OrderUSDT.get - ~OrderUSDT.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.PositionInverse.rst b/docs/generated/pybotters.models.experimental.bybit.PositionInverse.rst deleted file mode 100644 index 7802029..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.PositionInverse.rst +++ /dev/null @@ -1,27 +0,0 @@ -pybotters.models.experimental.bybit.PositionInverse -=================================================== - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: PositionInverse - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~PositionInverse.__init__ - ~PositionInverse.both - ~PositionInverse.find - ~PositionInverse.get - ~PositionInverse.one - ~PositionInverse.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.PositionUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.PositionUSDT.rst deleted file mode 100644 index 19fc4eb..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.PositionUSDT.rst +++ /dev/null @@ -1,27 +0,0 @@ -pybotters.models.experimental.bybit.PositionUSDT -================================================ - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: PositionUSDT - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~PositionUSDT.__init__ - ~PositionUSDT.both - ~PositionUSDT.find - ~PositionUSDT.get - ~PositionUSDT.one - ~PositionUSDT.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.StopOrderInverse.rst b/docs/generated/pybotters.models.experimental.bybit.StopOrderInverse.rst deleted file mode 100644 index af762ca..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.StopOrderInverse.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.StopOrderInverse -==================================================== - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: StopOrderInverse - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~StopOrderInverse.__init__ - ~StopOrderInverse.find - ~StopOrderInverse.get - ~StopOrderInverse.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.StopOrderUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.StopOrderUSDT.rst deleted file mode 100644 index 6b36d29..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.StopOrderUSDT.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.StopOrderUSDT -================================================= - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: StopOrderUSDT - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~StopOrderUSDT.__init__ - ~StopOrderUSDT.find - ~StopOrderUSDT.get - ~StopOrderUSDT.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.TradeInverse.rst b/docs/generated/pybotters.models.experimental.bybit.TradeInverse.rst deleted file mode 100644 index cb8eaff..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.TradeInverse.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.TradeInverse -================================================ - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: TradeInverse - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~TradeInverse.__init__ - ~TradeInverse.find - ~TradeInverse.get - ~TradeInverse.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.TradeUSDT.rst b/docs/generated/pybotters.models.experimental.bybit.TradeUSDT.rst deleted file mode 100644 index d371b5f..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.TradeUSDT.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.TradeUSDT -============================================= - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: TradeUSDT - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~TradeUSDT.__init__ - ~TradeUSDT.find - ~TradeUSDT.get - ~TradeUSDT.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.Wallet.rst b/docs/generated/pybotters.models.experimental.bybit.Wallet.rst deleted file mode 100644 index 7de16a6..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.Wallet.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.experimental.bybit.Wallet -========================================== - -.. currentmodule:: pybotters.models.experimental.bybit - -.. autoclass:: Wallet - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Wallet.__init__ - ~Wallet.find - ~Wallet.get - ~Wallet.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.experimental.bybit.rst b/docs/generated/pybotters.models.experimental.bybit.rst deleted file mode 100644 index 92e8924..0000000 --- a/docs/generated/pybotters.models.experimental.bybit.rst +++ /dev/null @@ -1,52 +0,0 @@ -pybotters.models.experimental.bybit -=================================== - -.. automodule:: pybotters.models.experimental.bybit - - - - - - - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - BybitInverseDataStore - BybitUSDTDataStore - CastDataStore - ExecutionInverse - ExecutionUSDT - InstrumentInverse - InstrumentUSDT - Insurance - KlineInverse - KlineUSDT - LiquidationInverse - LiquidationUSDT - OrderBookInverse - OrderBookUSDT - OrderInverse - OrderUSDT - PositionInverse - PositionUSDT - StopOrderInverse - StopOrderUSDT - TradeInverse - TradeUSDT - Wallet - - - - - - - - - diff --git a/docs/generated/pybotters.models.experimental.rst b/docs/generated/pybotters.models.experimental.rst deleted file mode 100644 index a09e05d..0000000 --- a/docs/generated/pybotters.models.experimental.rst +++ /dev/null @@ -1,31 +0,0 @@ -pybotters.models.experimental -============================= - -.. automodule:: pybotters.models.experimental - - - - - - - - - - - - - - - - - - - -.. rubric:: Modules - -.. autosummary:: - :toctree: - :recursive: - - pybotters.models.experimental.bybit - diff --git a/docs/generated/pybotters.models.ftx.FTXDataStore.rst b/docs/generated/pybotters.models.ftx.FTXDataStore.rst deleted file mode 100644 index 0778b12..0000000 --- a/docs/generated/pybotters.models.ftx.FTXDataStore.rst +++ /dev/null @@ -1,39 +0,0 @@ -pybotters.models.ftx.FTXDataStore -================================= - -.. currentmodule:: pybotters.models.ftx - -.. autoclass:: FTXDataStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~FTXDataStore.__init__ - ~FTXDataStore.create - ~FTXDataStore.get - ~FTXDataStore.initialize - ~FTXDataStore.onmessage - ~FTXDataStore.wait - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~FTXDataStore.fills - ~FTXDataStore.markets - ~FTXDataStore.orderbook - ~FTXDataStore.orders - ~FTXDataStore.positions - ~FTXDataStore.ticker - ~FTXDataStore.trades - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.Fills.rst b/docs/generated/pybotters.models.ftx.Fills.rst deleted file mode 100644 index ef96cfc..0000000 --- a/docs/generated/pybotters.models.ftx.Fills.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.ftx.Fills -========================== - -.. currentmodule:: pybotters.models.ftx - -.. autoclass:: Fills - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Fills.__init__ - ~Fills.find - ~Fills.get - ~Fills.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.Markets.rst b/docs/generated/pybotters.models.ftx.Markets.rst deleted file mode 100644 index e93a18f..0000000 --- a/docs/generated/pybotters.models.ftx.Markets.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.ftx.Markets -============================ - -.. currentmodule:: pybotters.models.ftx - -.. autoclass:: Markets - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Markets.__init__ - ~Markets.find - ~Markets.get - ~Markets.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.OrderBook.rst b/docs/generated/pybotters.models.ftx.OrderBook.rst deleted file mode 100644 index cb80f7c..0000000 --- a/docs/generated/pybotters.models.ftx.OrderBook.rst +++ /dev/null @@ -1,26 +0,0 @@ -pybotters.models.ftx.OrderBook -============================== - -.. currentmodule:: pybotters.models.ftx - -.. autoclass:: OrderBook - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~OrderBook.__init__ - ~OrderBook.find - ~OrderBook.get - ~OrderBook.sorted - ~OrderBook.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.Orders.rst b/docs/generated/pybotters.models.ftx.Orders.rst deleted file mode 100644 index 0f40ddd..0000000 --- a/docs/generated/pybotters.models.ftx.Orders.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.ftx.Orders -=========================== - -.. currentmodule:: pybotters.models.ftx - -.. autoclass:: Orders - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Orders.__init__ - ~Orders.find - ~Orders.get - ~Orders.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.Positions.rst b/docs/generated/pybotters.models.ftx.Positions.rst deleted file mode 100644 index b6976a3..0000000 --- a/docs/generated/pybotters.models.ftx.Positions.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.ftx.Positions -============================== - -.. currentmodule:: pybotters.models.ftx - -.. autoclass:: Positions - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Positions.__init__ - ~Positions.find - ~Positions.get - ~Positions.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.Ticker.rst b/docs/generated/pybotters.models.ftx.Ticker.rst deleted file mode 100644 index e553322..0000000 --- a/docs/generated/pybotters.models.ftx.Ticker.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.ftx.Ticker -=========================== - -.. currentmodule:: pybotters.models.ftx - -.. autoclass:: Ticker - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Ticker.__init__ - ~Ticker.find - ~Ticker.get - ~Ticker.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.Trades.rst b/docs/generated/pybotters.models.ftx.Trades.rst deleted file mode 100644 index 4d569f7..0000000 --- a/docs/generated/pybotters.models.ftx.Trades.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.ftx.Trades -=========================== - -.. currentmodule:: pybotters.models.ftx - -.. autoclass:: Trades - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Trades.__init__ - ~Trades.find - ~Trades.get - ~Trades.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.ftx.rst b/docs/generated/pybotters.models.ftx.rst deleted file mode 100644 index 72423da..0000000 --- a/docs/generated/pybotters.models.ftx.rst +++ /dev/null @@ -1,37 +0,0 @@ -pybotters.models.ftx -==================== - -.. automodule:: pybotters.models.ftx - - - - - - - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - FTXDataStore - Fills - Markets - OrderBook - Orders - Positions - Ticker - Trades - - - - - - - - - diff --git a/docs/generated/pybotters.models.gmocoin.ApiType.rst b/docs/generated/pybotters.models.gmocoin.ApiType.rst deleted file mode 100644 index 2c57bd6..0000000 --- a/docs/generated/pybotters.models.gmocoin.ApiType.rst +++ /dev/null @@ -1,23 +0,0 @@ -pybotters.models.gmocoin.ApiType -================================ - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: ApiType - :members: - - - - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~ApiType.Public - ~ApiType.Private - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.CancelType.rst b/docs/generated/pybotters.models.gmocoin.CancelType.rst deleted file mode 100644 index 8ac6369..0000000 --- a/docs/generated/pybotters.models.gmocoin.CancelType.rst +++ /dev/null @@ -1,35 +0,0 @@ -pybotters.models.gmocoin.CancelType -=================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: CancelType - :members: - - - - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~CancelType.NONE - ~CancelType.USER - ~CancelType.POSITION_LOSSCUT - ~CancelType.INSUFFICIENT_BALANCE - ~CancelType.INSUFFICIENT_MARGIN - ~CancelType.ACCOUNT_LOSSCUT - ~CancelType.MARGIN_CALL - ~CancelType.MARGIN_CALL_LOSSCUT - ~CancelType.EXPIRED_FAK - ~CancelType.EXPIRED_FOK - ~CancelType.EXPIRED_SOK - ~CancelType.CLOSED_ORDER - ~CancelType.SOK_TAKER - ~CancelType.PRICE_LIMIT - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Channel.rst b/docs/generated/pybotters.models.gmocoin.Channel.rst deleted file mode 100644 index 3a2d024..0000000 --- a/docs/generated/pybotters.models.gmocoin.Channel.rst +++ /dev/null @@ -1,34 +0,0 @@ -pybotters.models.gmocoin.Channel -================================ - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: Channel - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Channel.from_str - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~Channel.TICKER - ~Channel.ORDER_BOOKS - ~Channel.TRADES - ~Channel.EXECUTION_EVENTS - ~Channel.ORDER_EVENTS - ~Channel.POSITION_EVENTS - ~Channel.POSITION_SUMMARY_EVENTS - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Execution.rst b/docs/generated/pybotters.models.gmocoin.Execution.rst deleted file mode 100644 index 70f0081..0000000 --- a/docs/generated/pybotters.models.gmocoin.Execution.rst +++ /dev/null @@ -1,55 +0,0 @@ -pybotters.models.gmocoin.Execution -================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: Execution - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Execution.__init__ - ~Execution.clear - ~Execution.copy - ~Execution.fromkeys - ~Execution.get - ~Execution.items - ~Execution.keys - ~Execution.pop - ~Execution.popitem - ~Execution.setdefault - ~Execution.update - ~Execution.values - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~Execution.execution_id - ~Execution.order_id - ~Execution.symbol - ~Execution.side - ~Execution.settle_type - ~Execution.size - ~Execution.price - ~Execution.timestamp - ~Execution.loss_gain - ~Execution.fee - ~Execution.position_id - ~Execution.execution_type - ~Execution.order_price - ~Execution.order_size - ~Execution.order_executed_size - ~Execution.order_timestamp - ~Execution.time_in_force - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.ExecutionStore.rst b/docs/generated/pybotters.models.gmocoin.ExecutionStore.rst deleted file mode 100644 index ad476f2..0000000 --- a/docs/generated/pybotters.models.gmocoin.ExecutionStore.rst +++ /dev/null @@ -1,26 +0,0 @@ -pybotters.models.gmocoin.ExecutionStore -======================================= - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: ExecutionStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~ExecutionStore.__init__ - ~ExecutionStore.find - ~ExecutionStore.get - ~ExecutionStore.sorted - ~ExecutionStore.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.ExecutionType.rst b/docs/generated/pybotters.models.gmocoin.ExecutionType.rst deleted file mode 100644 index 8991b82..0000000 --- a/docs/generated/pybotters.models.gmocoin.ExecutionType.rst +++ /dev/null @@ -1,24 +0,0 @@ -pybotters.models.gmocoin.ExecutionType -====================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: ExecutionType - :members: - - - - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~ExecutionType.MARKET - ~ExecutionType.LIMIT - ~ExecutionType.STOP - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.GMOCoinDataStore.rst b/docs/generated/pybotters.models.gmocoin.GMOCoinDataStore.rst deleted file mode 100644 index 95598fd..0000000 --- a/docs/generated/pybotters.models.gmocoin.GMOCoinDataStore.rst +++ /dev/null @@ -1,39 +0,0 @@ -pybotters.models.gmocoin.GMOCoinDataStore -========================================= - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: GMOCoinDataStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~GMOCoinDataStore.__init__ - ~GMOCoinDataStore.create - ~GMOCoinDataStore.get - ~GMOCoinDataStore.initialize - ~GMOCoinDataStore.onmessage - ~GMOCoinDataStore.wait - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~GMOCoinDataStore.executions - ~GMOCoinDataStore.orderbooks - ~GMOCoinDataStore.orders - ~GMOCoinDataStore.position_summary - ~GMOCoinDataStore.positions - ~GMOCoinDataStore.ticker - ~GMOCoinDataStore.trades - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.MessageHelper.rst b/docs/generated/pybotters.models.gmocoin.MessageHelper.rst deleted file mode 100644 index b70d78f..0000000 --- a/docs/generated/pybotters.models.gmocoin.MessageHelper.rst +++ /dev/null @@ -1,35 +0,0 @@ -pybotters.models.gmocoin.MessageHelper -====================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: MessageHelper - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~MessageHelper.__init__ - ~MessageHelper.to_execution - ~MessageHelper.to_executions - ~MessageHelper.to_order - ~MessageHelper.to_orderbook - ~MessageHelper.to_orders - ~MessageHelper.to_position - ~MessageHelper.to_position_summaries - ~MessageHelper.to_position_summary - ~MessageHelper.to_positions - ~MessageHelper.to_ticker - ~MessageHelper.to_tickers - ~MessageHelper.to_trade - ~MessageHelper.to_trades - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.MessageType.rst b/docs/generated/pybotters.models.gmocoin.MessageType.rst deleted file mode 100644 index 9d04810..0000000 --- a/docs/generated/pybotters.models.gmocoin.MessageType.rst +++ /dev/null @@ -1,33 +0,0 @@ -pybotters.models.gmocoin.MessageType -==================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: MessageType - :members: - - - - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~MessageType.NONE - ~MessageType.ER - ~MessageType.NOR - ~MessageType.ROR - ~MessageType.COR - ~MessageType.OPR - ~MessageType.UPR - ~MessageType.ULR - ~MessageType.CPR - ~MessageType.INIT - ~MessageType.UPDATE - ~MessageType.PERIODIC - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Order.rst b/docs/generated/pybotters.models.gmocoin.Order.rst deleted file mode 100644 index d0a1ac2..0000000 --- a/docs/generated/pybotters.models.gmocoin.Order.rst +++ /dev/null @@ -1,51 +0,0 @@ -pybotters.models.gmocoin.Order -============================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: Order - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Order.__init__ - ~Order.clear - ~Order.copy - ~Order.fromkeys - ~Order.get - ~Order.items - ~Order.keys - ~Order.pop - ~Order.popitem - ~Order.setdefault - ~Order.update - ~Order.values - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~Order.order_id - ~Order.symbol - ~Order.settle_type - ~Order.execution_type - ~Order.side - ~Order.order_status - ~Order.order_timestamp - ~Order.price - ~Order.size - ~Order.executed_size - ~Order.losscut_price - ~Order.time_in_force - ~Order.cancel_type - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderBook.rst b/docs/generated/pybotters.models.gmocoin.OrderBook.rst deleted file mode 100644 index 6232556..0000000 --- a/docs/generated/pybotters.models.gmocoin.OrderBook.rst +++ /dev/null @@ -1,42 +0,0 @@ -pybotters.models.gmocoin.OrderBook -================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: OrderBook - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~OrderBook.__init__ - ~OrderBook.clear - ~OrderBook.copy - ~OrderBook.fromkeys - ~OrderBook.get - ~OrderBook.items - ~OrderBook.keys - ~OrderBook.pop - ~OrderBook.popitem - ~OrderBook.setdefault - ~OrderBook.update - ~OrderBook.values - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~OrderBook.asks - ~OrderBook.bids - ~OrderBook.symbol - ~OrderBook.timestamp - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderBookStore.rst b/docs/generated/pybotters.models.gmocoin.OrderBookStore.rst deleted file mode 100644 index cffb231..0000000 --- a/docs/generated/pybotters.models.gmocoin.OrderBookStore.rst +++ /dev/null @@ -1,26 +0,0 @@ -pybotters.models.gmocoin.OrderBookStore -======================================= - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: OrderBookStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~OrderBookStore.__init__ - ~OrderBookStore.find - ~OrderBookStore.get - ~OrderBookStore.sorted - ~OrderBookStore.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderLevel.rst b/docs/generated/pybotters.models.gmocoin.OrderLevel.rst deleted file mode 100644 index 1097744..0000000 --- a/docs/generated/pybotters.models.gmocoin.OrderLevel.rst +++ /dev/null @@ -1,42 +0,0 @@ -pybotters.models.gmocoin.OrderLevel -=================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: OrderLevel - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~OrderLevel.__init__ - ~OrderLevel.clear - ~OrderLevel.copy - ~OrderLevel.fromkeys - ~OrderLevel.get - ~OrderLevel.items - ~OrderLevel.keys - ~OrderLevel.pop - ~OrderLevel.popitem - ~OrderLevel.setdefault - ~OrderLevel.update - ~OrderLevel.values - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~OrderLevel.symbol - ~OrderLevel.side - ~OrderLevel.price - ~OrderLevel.size - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderSide.rst b/docs/generated/pybotters.models.gmocoin.OrderSide.rst deleted file mode 100644 index 67f61ff..0000000 --- a/docs/generated/pybotters.models.gmocoin.OrderSide.rst +++ /dev/null @@ -1,23 +0,0 @@ -pybotters.models.gmocoin.OrderSide -================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: OrderSide - :members: - - - - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~OrderSide.BUY - ~OrderSide.SELL - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderStatus.rst b/docs/generated/pybotters.models.gmocoin.OrderStatus.rst deleted file mode 100644 index 5d543d9..0000000 --- a/docs/generated/pybotters.models.gmocoin.OrderStatus.rst +++ /dev/null @@ -1,28 +0,0 @@ -pybotters.models.gmocoin.OrderStatus -==================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: OrderStatus - :members: - - - - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~OrderStatus.WAITING - ~OrderStatus.ORDERED - ~OrderStatus.MODIFYING - ~OrderStatus.CANCELLING - ~OrderStatus.CANCELED - ~OrderStatus.EXECUTED - ~OrderStatus.EXPIRED - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderStore.rst b/docs/generated/pybotters.models.gmocoin.OrderStore.rst deleted file mode 100644 index b8919e3..0000000 --- a/docs/generated/pybotters.models.gmocoin.OrderStore.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.gmocoin.OrderStore -=================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: OrderStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~OrderStore.__init__ - ~OrderStore.find - ~OrderStore.get - ~OrderStore.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.OrderType.rst b/docs/generated/pybotters.models.gmocoin.OrderType.rst deleted file mode 100644 index 11b1630..0000000 --- a/docs/generated/pybotters.models.gmocoin.OrderType.rst +++ /dev/null @@ -1,23 +0,0 @@ -pybotters.models.gmocoin.OrderType -================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: OrderType - :members: - - - - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~OrderType.NORMAL - ~OrderType.LOSSCUT - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Position.rst b/docs/generated/pybotters.models.gmocoin.Position.rst deleted file mode 100644 index 12f5406..0000000 --- a/docs/generated/pybotters.models.gmocoin.Position.rst +++ /dev/null @@ -1,48 +0,0 @@ -pybotters.models.gmocoin.Position -================================= - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: Position - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Position.__init__ - ~Position.clear - ~Position.copy - ~Position.fromkeys - ~Position.get - ~Position.items - ~Position.keys - ~Position.pop - ~Position.popitem - ~Position.setdefault - ~Position.update - ~Position.values - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~Position.position_id - ~Position.symbol - ~Position.side - ~Position.size - ~Position.orderd_size - ~Position.price - ~Position.loss_gain - ~Position.leverage - ~Position.losscut_price - ~Position.timestamp - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.PositionStore.rst b/docs/generated/pybotters.models.gmocoin.PositionStore.rst deleted file mode 100644 index 4f3b0f3..0000000 --- a/docs/generated/pybotters.models.gmocoin.PositionStore.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.gmocoin.PositionStore -====================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: PositionStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~PositionStore.__init__ - ~PositionStore.find - ~PositionStore.get - ~PositionStore.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.PositionSummary.rst b/docs/generated/pybotters.models.gmocoin.PositionSummary.rst deleted file mode 100644 index 5d35e1d..0000000 --- a/docs/generated/pybotters.models.gmocoin.PositionSummary.rst +++ /dev/null @@ -1,45 +0,0 @@ -pybotters.models.gmocoin.PositionSummary -======================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: PositionSummary - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~PositionSummary.__init__ - ~PositionSummary.clear - ~PositionSummary.copy - ~PositionSummary.fromkeys - ~PositionSummary.get - ~PositionSummary.items - ~PositionSummary.keys - ~PositionSummary.pop - ~PositionSummary.popitem - ~PositionSummary.setdefault - ~PositionSummary.update - ~PositionSummary.values - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~PositionSummary.symbol - ~PositionSummary.side - ~PositionSummary.average_position_rate - ~PositionSummary.position_loss_gain - ~PositionSummary.sum_order_quantity - ~PositionSummary.sum_position_quantity - ~PositionSummary.timestamp - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.PositionSummaryStore.rst b/docs/generated/pybotters.models.gmocoin.PositionSummaryStore.rst deleted file mode 100644 index 2851d7f..0000000 --- a/docs/generated/pybotters.models.gmocoin.PositionSummaryStore.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.gmocoin.PositionSummaryStore -============================================= - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: PositionSummaryStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~PositionSummaryStore.__init__ - ~PositionSummaryStore.find - ~PositionSummaryStore.get - ~PositionSummaryStore.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.SettleType.rst b/docs/generated/pybotters.models.gmocoin.SettleType.rst deleted file mode 100644 index 32acf0d..0000000 --- a/docs/generated/pybotters.models.gmocoin.SettleType.rst +++ /dev/null @@ -1,24 +0,0 @@ -pybotters.models.gmocoin.SettleType -=================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: SettleType - :members: - - - - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~SettleType.OPEN - ~SettleType.CLOSE - ~SettleType.LOSS_CUT - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Symbol.rst b/docs/generated/pybotters.models.gmocoin.Symbol.rst deleted file mode 100644 index 167fe49..0000000 --- a/docs/generated/pybotters.models.gmocoin.Symbol.rst +++ /dev/null @@ -1,31 +0,0 @@ -pybotters.models.gmocoin.Symbol -=============================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: Symbol - :members: - - - - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~Symbol.BTC - ~Symbol.ETH - ~Symbol.BCH - ~Symbol.LTC - ~Symbol.XRP - ~Symbol.BTC_JPY - ~Symbol.ETH_JPY - ~Symbol.BCH_JPY - ~Symbol.LTC_JPY - ~Symbol.XRP_JPY - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Ticker.rst b/docs/generated/pybotters.models.gmocoin.Ticker.rst deleted file mode 100644 index 28814f8..0000000 --- a/docs/generated/pybotters.models.gmocoin.Ticker.rst +++ /dev/null @@ -1,46 +0,0 @@ -pybotters.models.gmocoin.Ticker -=============================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: Ticker - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Ticker.__init__ - ~Ticker.clear - ~Ticker.copy - ~Ticker.fromkeys - ~Ticker.get - ~Ticker.items - ~Ticker.keys - ~Ticker.pop - ~Ticker.popitem - ~Ticker.setdefault - ~Ticker.update - ~Ticker.values - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~Ticker.ask - ~Ticker.bid - ~Ticker.high - ~Ticker.last - ~Ticker.low - ~Ticker.symbol - ~Ticker.timestamp - ~Ticker.volume - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.TickerStore.rst b/docs/generated/pybotters.models.gmocoin.TickerStore.rst deleted file mode 100644 index 1bf8e74..0000000 --- a/docs/generated/pybotters.models.gmocoin.TickerStore.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.gmocoin.TickerStore -==================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: TickerStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~TickerStore.__init__ - ~TickerStore.find - ~TickerStore.get - ~TickerStore.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.TimeInForce.rst b/docs/generated/pybotters.models.gmocoin.TimeInForce.rst deleted file mode 100644 index 2f5c066..0000000 --- a/docs/generated/pybotters.models.gmocoin.TimeInForce.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.gmocoin.TimeInForce -==================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: TimeInForce - :members: - - - - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~TimeInForce.FAK - ~TimeInForce.FAS - ~TimeInForce.FOK - ~TimeInForce.SOK - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.Trade.rst b/docs/generated/pybotters.models.gmocoin.Trade.rst deleted file mode 100644 index ba39695..0000000 --- a/docs/generated/pybotters.models.gmocoin.Trade.rst +++ /dev/null @@ -1,43 +0,0 @@ -pybotters.models.gmocoin.Trade -============================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: Trade - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Trade.__init__ - ~Trade.clear - ~Trade.copy - ~Trade.fromkeys - ~Trade.get - ~Trade.items - ~Trade.keys - ~Trade.pop - ~Trade.popitem - ~Trade.setdefault - ~Trade.update - ~Trade.values - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~Trade.price - ~Trade.side - ~Trade.size - ~Trade.timestamp - ~Trade.symbol - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.TradeStore.rst b/docs/generated/pybotters.models.gmocoin.TradeStore.rst deleted file mode 100644 index da8c51e..0000000 --- a/docs/generated/pybotters.models.gmocoin.TradeStore.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.models.gmocoin.TradeStore -=================================== - -.. currentmodule:: pybotters.models.gmocoin - -.. autoclass:: TradeStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~TradeStore.__init__ - ~TradeStore.find - ~TradeStore.get - ~TradeStore.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.models.gmocoin.rst b/docs/generated/pybotters.models.gmocoin.rst deleted file mode 100644 index 5c23f3a..0000000 --- a/docs/generated/pybotters.models.gmocoin.rst +++ /dev/null @@ -1,63 +0,0 @@ -pybotters.models.gmocoin -======================== - -.. automodule:: pybotters.models.gmocoin - - - - - - - - .. rubric:: Functions - - .. autosummary:: - - parse_datetime - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - ApiType - CancelType - Channel - Execution - ExecutionStore - ExecutionType - GMOCoinDataStore - MessageHelper - MessageType - Order - OrderBook - OrderBookStore - OrderLevel - OrderSide - OrderStatus - OrderStore - OrderType - Position - PositionStore - PositionSummary - PositionSummaryStore - SettleType - Symbol - Ticker - TickerStore - TimeInForce - Trade - TradeStore - - - - - - - - - diff --git a/docs/generated/pybotters.models.rst b/docs/generated/pybotters.models.rst deleted file mode 100644 index 6e8af76..0000000 --- a/docs/generated/pybotters.models.rst +++ /dev/null @@ -1,38 +0,0 @@ -pybotters.models -================ - -.. automodule:: pybotters.models - - - - - - - - - - - - - - - - - - - -.. rubric:: Modules - -.. autosummary:: - :toctree: - :recursive: - - pybotters.models.binance - pybotters.models.bitbank - pybotters.models.bitflyer - pybotters.models.bitmex - pybotters.models.bybit - pybotters.models.experimental - pybotters.models.ftx - pybotters.models.gmocoin - diff --git a/docs/generated/pybotters.request.rst b/docs/generated/pybotters.request.rst deleted file mode 100644 index e17ffba..0000000 --- a/docs/generated/pybotters.request.rst +++ /dev/null @@ -1,6 +0,0 @@ -pybotters.request -================= - -.. currentmodule:: pybotters - -.. autofunction:: request \ No newline at end of file diff --git a/docs/generated/pybotters.rst b/docs/generated/pybotters.rst deleted file mode 100644 index b33131e..0000000 --- a/docs/generated/pybotters.rst +++ /dev/null @@ -1,56 +0,0 @@ -pybotters -========= - -.. automodule:: pybotters - - - - - - - - .. rubric:: Functions - - .. autosummary:: - - delete - get - post - print_handler - put - request - ws_connect - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - SyncClientResponse - - - - - - - - - -.. rubric:: Modules - -.. autosummary:: - :toctree: - :recursive: - - pybotters.auth - pybotters.client - pybotters.models - pybotters.request - pybotters.store - pybotters.typedefs - pybotters.ws - diff --git a/docs/generated/pybotters.store.DataStore.rst b/docs/generated/pybotters.store.DataStore.rst deleted file mode 100644 index bfe983c..0000000 --- a/docs/generated/pybotters.store.DataStore.rst +++ /dev/null @@ -1,25 +0,0 @@ -pybotters.store.DataStore -========================= - -.. currentmodule:: pybotters.store - -.. autoclass:: DataStore - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~DataStore.__init__ - ~DataStore.find - ~DataStore.get - ~DataStore.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.store.DataStoreManager.rst b/docs/generated/pybotters.store.DataStoreManager.rst deleted file mode 100644 index 1eb4d26..0000000 --- a/docs/generated/pybotters.store.DataStoreManager.rst +++ /dev/null @@ -1,26 +0,0 @@ -pybotters.store.DataStoreManager -================================ - -.. currentmodule:: pybotters.store - -.. autoclass:: DataStoreManager - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~DataStoreManager.__init__ - ~DataStoreManager.create - ~DataStoreManager.get - ~DataStoreManager.onmessage - ~DataStoreManager.wait - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.store.rst b/docs/generated/pybotters.store.rst deleted file mode 100644 index a231e29..0000000 --- a/docs/generated/pybotters.store.rst +++ /dev/null @@ -1,31 +0,0 @@ -pybotters.store -=============== - -.. automodule:: pybotters.store - - - - - - - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - DataStore - DataStoreManager - - - - - - - - - diff --git a/docs/generated/pybotters.typedefs.rst b/docs/generated/pybotters.typedefs.rst deleted file mode 100644 index 8c3a0f7..0000000 --- a/docs/generated/pybotters.typedefs.rst +++ /dev/null @@ -1,23 +0,0 @@ -pybotters.typedefs -================== - -.. automodule:: pybotters.typedefs - - - - - - - - - - - - - - - - - - - diff --git a/docs/generated/pybotters.ws.Auth.rst b/docs/generated/pybotters.ws.Auth.rst deleted file mode 100644 index adc8542..0000000 --- a/docs/generated/pybotters.ws.Auth.rst +++ /dev/null @@ -1,26 +0,0 @@ -pybotters.ws.Auth -================= - -.. currentmodule:: pybotters.ws - -.. autoclass:: Auth - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Auth.__init__ - ~Auth.bitflyer - ~Auth.ftx - ~Auth.liquid - ~Auth.phemex - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.ws.AuthHosts.rst b/docs/generated/pybotters.ws.AuthHosts.rst deleted file mode 100644 index b0e738e..0000000 --- a/docs/generated/pybotters.ws.AuthHosts.rst +++ /dev/null @@ -1,28 +0,0 @@ -pybotters.ws.AuthHosts -====================== - -.. currentmodule:: pybotters.ws - -.. autoclass:: AuthHosts - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~AuthHosts.__init__ - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~AuthHosts.items - - \ No newline at end of file diff --git a/docs/generated/pybotters.ws.ClientWebSocketResponse.rst b/docs/generated/pybotters.ws.ClientWebSocketResponse.rst deleted file mode 100644 index cc1130e..0000000 --- a/docs/generated/pybotters.ws.ClientWebSocketResponse.rst +++ /dev/null @@ -1,44 +0,0 @@ -pybotters.ws.ClientWebSocketResponse -==================================== - -.. currentmodule:: pybotters.ws - -.. autoclass:: ClientWebSocketResponse - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~ClientWebSocketResponse.__init__ - ~ClientWebSocketResponse.close - ~ClientWebSocketResponse.exception - ~ClientWebSocketResponse.get_extra_info - ~ClientWebSocketResponse.ping - ~ClientWebSocketResponse.pong - ~ClientWebSocketResponse.receive - ~ClientWebSocketResponse.receive_bytes - ~ClientWebSocketResponse.receive_json - ~ClientWebSocketResponse.receive_str - ~ClientWebSocketResponse.send_bytes - ~ClientWebSocketResponse.send_json - ~ClientWebSocketResponse.send_str - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~ClientWebSocketResponse.client_notakeover - ~ClientWebSocketResponse.close_code - ~ClientWebSocketResponse.closed - ~ClientWebSocketResponse.compress - ~ClientWebSocketResponse.protocol - - \ No newline at end of file diff --git a/docs/generated/pybotters.ws.Heartbeat.rst b/docs/generated/pybotters.ws.Heartbeat.rst deleted file mode 100644 index 4b111b3..0000000 --- a/docs/generated/pybotters.ws.Heartbeat.rst +++ /dev/null @@ -1,28 +0,0 @@ -pybotters.ws.Heartbeat -====================== - -.. currentmodule:: pybotters.ws - -.. autoclass:: Heartbeat - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Heartbeat.__init__ - ~Heartbeat.binance - ~Heartbeat.bitbank - ~Heartbeat.bybit - ~Heartbeat.ftx - ~Heartbeat.liquid - ~Heartbeat.phemex - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.ws.HeartbeatHosts.rst b/docs/generated/pybotters.ws.HeartbeatHosts.rst deleted file mode 100644 index 964c84c..0000000 --- a/docs/generated/pybotters.ws.HeartbeatHosts.rst +++ /dev/null @@ -1,28 +0,0 @@ -pybotters.ws.HeartbeatHosts -=========================== - -.. currentmodule:: pybotters.ws - -.. autoclass:: HeartbeatHosts - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~HeartbeatHosts.__init__ - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~HeartbeatHosts.items - - \ No newline at end of file diff --git a/docs/generated/pybotters.ws.Item.rst b/docs/generated/pybotters.ws.Item.rst deleted file mode 100644 index 90d2520..0000000 --- a/docs/generated/pybotters.ws.Item.rst +++ /dev/null @@ -1,29 +0,0 @@ -pybotters.ws.Item -================= - -.. currentmodule:: pybotters.ws - -.. autoclass:: Item - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~Item.__init__ - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~Item.name - ~Item.func - - \ No newline at end of file diff --git a/docs/generated/pybotters.ws.RequestLimit.rst b/docs/generated/pybotters.ws.RequestLimit.rst deleted file mode 100644 index 3071884..0000000 --- a/docs/generated/pybotters.ws.RequestLimit.rst +++ /dev/null @@ -1,23 +0,0 @@ -pybotters.ws.RequestLimit -========================= - -.. currentmodule:: pybotters.ws - -.. autoclass:: RequestLimit - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~RequestLimit.__init__ - ~RequestLimit.gmocoin - - - - - - \ No newline at end of file diff --git a/docs/generated/pybotters.ws.RequestLimitHosts.rst b/docs/generated/pybotters.ws.RequestLimitHosts.rst deleted file mode 100644 index 8661998..0000000 --- a/docs/generated/pybotters.ws.RequestLimitHosts.rst +++ /dev/null @@ -1,28 +0,0 @@ -pybotters.ws.RequestLimitHosts -============================== - -.. currentmodule:: pybotters.ws - -.. autoclass:: RequestLimitHosts - :members: - - - - - .. rubric:: Methods - - .. autosummary:: - - ~RequestLimitHosts.__init__ - - - - - - .. rubric:: Attributes - - .. autosummary:: - - ~RequestLimitHosts.items - - \ No newline at end of file diff --git a/docs/generated/pybotters.ws.rst b/docs/generated/pybotters.ws.rst deleted file mode 100644 index 13a2c5c..0000000 --- a/docs/generated/pybotters.ws.rst +++ /dev/null @@ -1,43 +0,0 @@ -pybotters.ws -============ - -.. automodule:: pybotters.ws - - - - - - - - .. rubric:: Functions - - .. autosummary:: - - ws_run_forever - - - - - - .. rubric:: Classes - - .. autosummary:: - :toctree: - - Auth - AuthHosts - ClientWebSocketResponse - Heartbeat - HeartbeatHosts - Item - RequestLimit - RequestLimitHosts - - - - - - - - - From c424c063ba189c552b12794f3e973040ef4fa004 Mon Sep 17 00:00:00 2001 From: driller Date: Wed, 3 Nov 2021 10:34:38 +0900 Subject: [PATCH 15/25] add docstrings --- pybotters/client.py | 9 +++++++++ pybotters/models/binance.py | 21 +++++++++++++++++++++ pybotters/models/bitmex.py | 6 ++++++ pybotters/models/bybit.py | 30 ++++++++++++++++++++++++++++++ pybotters/models/ftx.py | 15 +++++++++++++++ pybotters/models/gmocoin.py | 14 ++++++++++++++ pybotters/store.py | 10 ++++++++++ 7 files changed, 105 insertions(+) diff --git a/pybotters/client.py b/pybotters/client.py index 39dca80..c6d0845 100644 --- a/pybotters/client.py +++ b/pybotters/client.py @@ -42,6 +42,12 @@ async def main(): await wstask # Ctrl+C to break + Basic API + + パッケージトップレベルで利用できるHTTPリクエスト関数です。 これらは同期関数です。 内部的にpybotters.Clientをラップしています。 + + :Example: + .. code-block:: python r = pybotters.get('https://...', params={'foo': 'bar'}, apis={'example': ['KEY', 'SECRET']}) @@ -65,6 +71,7 @@ def __init__( """ :param apis: APIキー・シークレットのデータ(optional) ex: {'exchange': ['key', 'secret']} :param base_url: リクエストメソッドの url の前方に自動付加するURL(optional) + :param ``**kwargs``: aiohttp.Client.requestに渡されるキーワード引数(optional) """ self._session = aiohttp.ClientSession( request_class=ClientRequest, @@ -123,6 +130,7 @@ def request( :param data: リクエストボディ(optional) :param headers: リクエストヘッダー(optional) :param auth: API自動認証の機能の有効/無効。デフォルトで有効。auth=Noneを指定することで無効になります(optional) + :param ``kwargs``: aiohttp.Client.requestに渡されるキーワード引数(optional) """ return self._request(method, url, params=params, data=data, **kwargs) @@ -180,6 +188,7 @@ async def ws_connect( :param hdlr_json: WebSocketの受信データをハンドリングする関数。第1引数 msg に Any 型(JSON-like), 第2引数 ws に WebSocketClientResponse 型の変数が渡されます(optional) :param headers: リクエストヘッダー(optional) :param auth: API自動認証の機能の有効/無効。デフォルトで有効。auth=Noneを指定することで無効になります(optional) + :param ``**kwargs``: aiohttp.ClientSession.ws_connectに渡されるキーワード引数(optional) """ event = asyncio.Event() task = asyncio.create_task( diff --git a/pybotters/models/binance.py b/pybotters/models/binance.py index abf3eec..7e3f00b 100644 --- a/pybotters/models/binance.py +++ b/pybotters/models/binance.py @@ -13,6 +13,9 @@ class BinanceDataStore(DataStoreManager): + """ + Binanceのデータストアマネージャー(※v0.4.0: Binance Futures USDⓈ-Mのみ) + """ def _init(self) -> None: self.create('trade', datastore_class=Trade) self.create('markprice', datastore_class=MarkPrice) @@ -28,6 +31,21 @@ def _init(self) -> None: self.listenkey: Optional[str] = None async def initialize(self, *aws: Awaitable[aiohttp.ClientResponse]) -> None: + """ + 対応エンドポイント + + - GET /fapi/v1/depth (DataStore: orderbook) + + - Binance APIドキュメントに従ってWebSocket接続後にinitializeすること。 + - orderbook データストアの initialized がTrueになる。 + + - GET /fapi/v2/balance (DataStore: balance) + - GET /fapi/v2/positionRisk (DataStore: position) + - GET /fapi/v1/openOrders (DataStore: order) + - POST /fapi/v1/listenKey (Property: listenkey) + + - プロパティ listenkey にlistenKeyが格納され30分ごとに PUT /fapi/v1/listenKey のリクエストがスケジュールされる。 + """ for f in asyncio.as_completed(aws): resp = await f data = await resp.json() @@ -121,6 +139,9 @@ def position(self) -> 'Position': @property def order(self) -> 'Order': + """ + アクティブオーダーのみ(約定・キャンセル済みは削除される) + """ return self.get('order', Order) diff --git a/pybotters/models/bitmex.py b/pybotters/models/bitmex.py index 89aced7..883b004 100644 --- a/pybotters/models/bitmex.py +++ b/pybotters/models/bitmex.py @@ -7,6 +7,9 @@ class BitMEXDataStore(DataStoreManager): + """ + BitMEXのデータストアマネージャー + """ def _onmessage(self, msg: Item, ws: ClientWebSocketResponse) -> None: if 'error' in msg: logger.warning(msg) @@ -73,6 +76,9 @@ def execution(self) -> DataStore: @property def order(self) -> DataStore: + """ + アクティブオーダーのみ(約定・キャンセル済みは削除される) + """ return self.get('order', DataStore) @property diff --git a/pybotters/models/bybit.py b/pybotters/models/bybit.py index 2bab2d8..000061e 100644 --- a/pybotters/models/bybit.py +++ b/pybotters/models/bybit.py @@ -14,6 +14,10 @@ class BybitDataStore(DataStoreManager): + """ + Bybitのデータストアマネージャー + """ + def __new__(cls) -> BybitDataStore: logger.warning( 'DEPRECATION WARNING: BybitDataStore will be changed to ' @@ -37,6 +41,20 @@ def _init(self) -> None: self.timestamp_e6: Optional[int] = None async def initialize(self, *aws: Awaitable[aiohttp.ClientResponse]) -> None: + """ + 対応エンドポイント + + - GET /v2/private/order (DataStore: order) + - GET /private/linear/order/search (DataStore: order) + - GET /futures/private/order (DataStore: order) + - GET /v2/private/stop-order (DataStore: stoporder) + - GET /private/linear/stop-order/search (DataStore: stoporder) + - GET /futures/private/stop-order (DataStore: stoporder) + - GET /v2/private/position/list (DataStore: position_inverse) + - GET /futures/private/position/list (DataStore: position_inverse) + - GET /private/linear/position/list (DataStore: position_usdt) + - GET /v2/private/wallet/balance (DataStore: wallet) + """ for f in asyncio.as_completed(aws): resp = await f data = await resp.json() @@ -136,6 +154,9 @@ def liquidation(self) -> 'Liquidation': @property def position_inverse(self) -> 'PositionInverse': + """ + インバース契約(無期限/先物)用のポジション + """ return self.get('position_inverse', PositionInverse) @property @@ -144,14 +165,23 @@ def position_usdt(self) -> 'PositionUSDT': @property def execution(self) -> 'Execution': + """ + USDT契約用のポジション + """ return self.get('execution', Execution) @property def order(self) -> 'Order': + """ + アクティブオーダーのみ(約定・キャンセル済みは削除される) + """ return self.get('order', Order) @property def stoporder(self) -> 'StopOrder': + """ + アクティブオーダーのみ(トリガー済みは削除される) + """ return self.get('stoporder', StopOrder) @property diff --git a/pybotters/models/ftx.py b/pybotters/models/ftx.py index eb58ce1..34a1457 100644 --- a/pybotters/models/ftx.py +++ b/pybotters/models/ftx.py @@ -15,6 +15,9 @@ class FTXDataStore(DataStoreManager): + """ + FTXのデータストアマネージャー + """ def _init(self) -> None: self.create('ticker', datastore_class=Ticker) self.create('markets', datastore_class=Markets) @@ -25,6 +28,15 @@ def _init(self) -> None: self.create('positions', datastore_class=Positions) async def initialize(self, *aws: Awaitable[aiohttp.ClientResponse]) -> None: + """ + 対応エンドポイント + + - GET /orders (DataStore: orders) + - GET /conditional_orders (DataStore: orders) + - GET /positions (DataStore: positions) + + - fills 受信時に GET /positions の自動フェッチする機能が有効化される。 + """ for f in asyncio.as_completed(aws): resp = await f data = await resp.json() @@ -85,6 +97,9 @@ def fills(self) -> 'Fills': @property def orders(self) -> 'Orders': + """ + アクティブオーダーのみ(約定・キャンセル済みは削除される) + """ return self.get('orders', Orders) @property diff --git a/pybotters/models/gmocoin.py b/pybotters/models/gmocoin.py index 4c1d0d6..863ede2 100644 --- a/pybotters/models/gmocoin.py +++ b/pybotters/models/gmocoin.py @@ -544,6 +544,9 @@ def to_position_summary(data: Item) -> "PositionSummary": class GMOCoinDataStore(DataStoreManager): + """ + GMOコインのデータストアマネージャー + """ def _init(self) -> None: self.create("ticker", datastore_class=TickerStore) self.create("orderbooks", datastore_class=OrderBookStore) @@ -554,6 +557,14 @@ def _init(self) -> None: self.create("position_summary", datastore_class=PositionSummaryStore) async def initialize(self, *aws: Awaitable[aiohttp.ClientResponse]) -> None: + """ + 対応エンドポイント + + - GET /private/v1/latestExecutions (DataStore: executions) + - GET /private/v1/activeOrders (DataStore: orders) + - GET /private/v1/openPositions (DataStore: positions) + - GET /private/v1/positionSummary (DataStore: position_summary) + """ for f in asyncio.as_completed(aws): resp = await f data = await resp.json() @@ -614,6 +625,9 @@ def trades(self) -> TradeStore: @property def orders(self) -> OrderStore: + """ + アクティブオーダーのみ(約定・キャンセル済みは削除される) + """ return self.get("orders", OrderStore) @property diff --git a/pybotters/store.py b/pybotters/store.py index a260366..d98bb01 100644 --- a/pybotters/store.py +++ b/pybotters/store.py @@ -245,6 +245,10 @@ async def wait(self) -> list[Item]: class DataStoreManager: + """ + データストアマネージャーの抽象クラスです。 データストアの作成・参照・ハンドリングなどの役割を持ちます。 それぞれの取引所のクラスが継承します。 + """ + def __init__(self, auto_cast: bool = False) -> None: self._stores: dict[str, DataStore] = {} self._events: list[asyncio.Event] = [] @@ -280,6 +284,9 @@ def _onmessage(self, msg: Any, ws: ClientWebSocketResponse) -> None: print(msg) def onmessage(self, msg: Any, ws: ClientWebSocketResponse) -> None: + """ + Clientクラスws_connectメソッドの引数send_jsonに渡すハンドラです。 + """ self._onmessage(msg, ws) self._set() @@ -289,6 +296,9 @@ def _set(self) -> None: self._events.clear() async def wait(self) -> None: + """ + 非同期メソッド。onmessageのイベントがあるまで待機します。 + """ event = asyncio.Event() self._events.append(event) await event.wait() From b6fd6dfc8520459c05dd745a3ead595ffaa319b7 Mon Sep 17 00:00:00 2001 From: driller Date: Wed, 3 Nov 2021 09:51:54 +0900 Subject: [PATCH 16/25] remove generated files by sphinx.ext.autosummary --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b85b08a..ad63a44 100644 --- a/.gitignore +++ b/.gitignore @@ -131,6 +131,6 @@ dmypy.json # Visual Studio Code .vscode/ -# sphinx.ext.autosummary +# sphinx.ext.autodoc -generated \ No newline at end of file +sphinx.ext.autosummary From 4062a2e866c2dd67098f642f21bb4dd504828937 Mon Sep 17 00:00:00 2001 From: driller Date: Wed, 3 Nov 2021 10:51:31 +0900 Subject: [PATCH 17/25] add newline at end of file --- docs/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index d1b63e8..e16d0e4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -64,4 +64,4 @@ autoclass_content = 'both' -templates_path = ['_templates'] \ No newline at end of file +templates_path = ['_templates'] From 93f56ed00c0b3a22e1630e07c57dc5dd3c824dfb Mon Sep 17 00:00:00 2001 From: driller Date: Wed, 3 Nov 2021 11:40:36 +0900 Subject: [PATCH 18/25] fix line too long --- pybotters/client.py | 28 +++++++++++++++++++++------- pybotters/models/binance.py | 6 ++++-- pybotters/models/ftx.py | 3 ++- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/pybotters/client.py b/pybotters/client.py index c6d0845..449f03c 100644 --- a/pybotters/client.py +++ b/pybotters/client.py @@ -33,12 +33,16 @@ async def main(): async with pybotters.Client(apis={'example': ['KEY', 'SECRET']}) as client: r = await client.get('https://...', params={'foo': 'bar'}) print(await r.json()) - + .. code-block:: python async def main(): async with pybotters.Client(apis={'example': ['KEY', 'SECRET']}) as client: - wstask = await client.ws_connect('wss://...', send_json={'foo': 'bar'}, hdlr_json=pybotters.print_handler) + wstask = await client.ws_connect( + 'wss://...', + send_json={'foo': 'bar'}, + hdlr_json=pybotters.print_handler + ) await wstask # Ctrl+C to break @@ -50,15 +54,25 @@ async def main(): .. code-block:: python - r = pybotters.get('https://...', params={'foo': 'bar'}, apis={'example': ['KEY', 'SECRET']}) + r = pybotters.get( + 'https://...', + params={'foo': 'bar'}, + apis={'example': ['KEY', 'SECRET']} + ) print(r.text()) print(r.json()) - + .. code-block:: python - - pybotters.ws_connect('wss://...', send_json={'foo': 'bar'}, hdlr_json=pybotters.print_handler, apis={'example': ['KEY', 'SECRET']}) + + pybotters.ws_connect( + 'wss://...', + send_json={'foo': 'bar'}, + hdlr_json=pybotters.print_handler, + apis={'example': ['KEY', 'SECRET']} + ) # Ctrl+C to break """ + _session: aiohttp.ClientSession _base_url: str @@ -184,7 +198,7 @@ async def ws_connect( :param url: WebSocket URL :param send_str: WebSocketで送信する文字列。文字列、または文字列のリスト形式(optional) :param send_json: WebSocketで送信する辞書オブジェクト。辞書、または辞書のリスト形式(optional) - :param hdlr_str: WebSocketの受信データをハンドリングする関数。第1引数 msg に _str_型, 第2引数 ws に WebSocketClientResponse 型の変数が渡されます(optional) + :param hdlr_str: WebSocketの受信データをハンドリングする関数。第1引数 msg に _str_型, 第2引数 ws にWebSocketClientResponse 型の変数が渡されます(optional) :param hdlr_json: WebSocketの受信データをハンドリングする関数。第1引数 msg に Any 型(JSON-like), 第2引数 ws に WebSocketClientResponse 型の変数が渡されます(optional) :param headers: リクエストヘッダー(optional) :param auth: API自動認証の機能の有効/無効。デフォルトで有効。auth=Noneを指定することで無効になります(optional) diff --git a/pybotters/models/binance.py b/pybotters/models/binance.py index 7e3f00b..960f8ab 100644 --- a/pybotters/models/binance.py +++ b/pybotters/models/binance.py @@ -16,6 +16,7 @@ class BinanceDataStore(DataStoreManager): """ Binanceのデータストアマネージャー(※v0.4.0: Binance Futures USDⓈ-Mのみ) """ + def _init(self) -> None: self.create('trade', datastore_class=Trade) self.create('markprice', datastore_class=MarkPrice) @@ -43,8 +44,9 @@ async def initialize(self, *aws: Awaitable[aiohttp.ClientResponse]) -> None: - GET /fapi/v2/positionRisk (DataStore: position) - GET /fapi/v1/openOrders (DataStore: order) - POST /fapi/v1/listenKey (Property: listenkey) - - - プロパティ listenkey にlistenKeyが格納され30分ごとに PUT /fapi/v1/listenKey のリクエストがスケジュールされる。 + + - プロパティ listenkey にlistenKeyが格納され30分ごとに PUT /fapi/v1/listenKey + のリクエストがスケジュールされる。 """ for f in asyncio.as_completed(aws): resp = await f diff --git a/pybotters/models/ftx.py b/pybotters/models/ftx.py index 34a1457..53eb38c 100644 --- a/pybotters/models/ftx.py +++ b/pybotters/models/ftx.py @@ -18,6 +18,7 @@ class FTXDataStore(DataStoreManager): """ FTXのデータストアマネージャー """ + def _init(self) -> None: self.create('ticker', datastore_class=Ticker) self.create('markets', datastore_class=Markets) @@ -34,7 +35,7 @@ async def initialize(self, *aws: Awaitable[aiohttp.ClientResponse]) -> None: - GET /orders (DataStore: orders) - GET /conditional_orders (DataStore: orders) - GET /positions (DataStore: positions) - + - fills 受信時に GET /positions の自動フェッチする機能が有効化される。 """ for f in asyncio.as_completed(aws): From 626706c4b32d2e77c3e7196b76269dfff9e5840e Mon Sep 17 00:00:00 2001 From: driller Date: Wed, 3 Nov 2021 16:39:52 +0900 Subject: [PATCH 19/25] fix .gitignore --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ad63a44..e210641 100644 --- a/.gitignore +++ b/.gitignore @@ -131,6 +131,6 @@ dmypy.json # Visual Studio Code .vscode/ -# sphinx.ext.autodoc +# sphinx.ext.autosummary -sphinx.ext.autosummary +generated From 5aa7891d512aae38c2f0cf7ae1ba650783777d4d Mon Sep 17 00:00:00 2001 From: driller Date: Sat, 6 Nov 2021 21:26:26 +0900 Subject: [PATCH 20/25] fix E501 line too long --- pybotters/client.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pybotters/client.py b/pybotters/client.py index 449f03c..acc0387 100644 --- a/pybotters/client.py +++ b/pybotters/client.py @@ -198,8 +198,11 @@ async def ws_connect( :param url: WebSocket URL :param send_str: WebSocketで送信する文字列。文字列、または文字列のリスト形式(optional) :param send_json: WebSocketで送信する辞書オブジェクト。辞書、または辞書のリスト形式(optional) - :param hdlr_str: WebSocketの受信データをハンドリングする関数。第1引数 msg に _str_型, 第2引数 ws にWebSocketClientResponse 型の変数が渡されます(optional) - :param hdlr_json: WebSocketの受信データをハンドリングする関数。第1引数 msg に Any 型(JSON-like), 第2引数 ws に WebSocketClientResponse 型の変数が渡されます(optional) + :param hdlr_str: WebSocketの受信データをハンドリングする関数。 + 第1引数 msg に _str_型, 第2引数 ws にWebSocketClientResponse 型の変数が渡されます(optional) + :param hdlr_json: WebSocketの受信データをハンドリングする関数。 + 第1引数 msg に Any 型(JSON-like), 第2引数 ws に WebSocketClientResponse 型の変数が渡されます + (optional) :param headers: リクエストヘッダー(optional) :param auth: API自動認証の機能の有効/無効。デフォルトで有効。auth=Noneを指定することで無効になります(optional) :param ``**kwargs``: aiohttp.ClientSession.ws_connectに渡されるキーワード引数(optional) From 76fc6be75a7272069f0f7de7f866f806ab1f4375 Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Wed, 10 Nov 2021 21:07:23 +0900 Subject: [PATCH 21/25] Apply black (pr93) --- pybotters/models/bitmex.py | 1 + pybotters/models/gmocoin.py | 1 + 2 files changed, 2 insertions(+) diff --git a/pybotters/models/bitmex.py b/pybotters/models/bitmex.py index 883b004..03c8d98 100644 --- a/pybotters/models/bitmex.py +++ b/pybotters/models/bitmex.py @@ -10,6 +10,7 @@ class BitMEXDataStore(DataStoreManager): """ BitMEXのデータストアマネージャー """ + def _onmessage(self, msg: Item, ws: ClientWebSocketResponse) -> None: if 'error' in msg: logger.warning(msg) diff --git a/pybotters/models/gmocoin.py b/pybotters/models/gmocoin.py index 863ede2..75fcc50 100644 --- a/pybotters/models/gmocoin.py +++ b/pybotters/models/gmocoin.py @@ -547,6 +547,7 @@ class GMOCoinDataStore(DataStoreManager): """ GMOコインのデータストアマネージャー """ + def _init(self) -> None: self.create("ticker", datastore_class=TickerStore) self.create("orderbooks", datastore_class=OrderBookStore) From 7ea888613ce514f6879f0915ea802a56606c1181 Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Wed, 10 Nov 2021 21:18:14 +0900 Subject: [PATCH 22/25] Fix wrong docstrings to BybitDataStore --- pybotters/models/bybit.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pybotters/models/bybit.py b/pybotters/models/bybit.py index 000061e..e9aa08d 100644 --- a/pybotters/models/bybit.py +++ b/pybotters/models/bybit.py @@ -161,13 +161,13 @@ def position_inverse(self) -> 'PositionInverse': @property def position_usdt(self) -> 'PositionUSDT': + """ + USDT契約用のポジション + """ return self.get('position_usdt', PositionUSDT) @property def execution(self) -> 'Execution': - """ - USDT契約用のポジション - """ return self.get('execution', Execution) @property From 75e197b80d4fdc6d5d61f0cd27dae2e6d6e3634b Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Wed, 10 Nov 2021 21:18:38 +0900 Subject: [PATCH 23/25] Add docstrings to new BybitDataStore --- pybotters/models/experimental/bybit.py | 43 ++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/pybotters/models/experimental/bybit.py b/pybotters/models/experimental/bybit.py index 067d4f7..f281135 100644 --- a/pybotters/models/experimental/bybit.py +++ b/pybotters/models/experimental/bybit.py @@ -14,6 +14,10 @@ class BybitInverseDataStore(DataStoreManager): + """ + Bybit Inverse契約のデータストアマネージャー + """ + def _init(self) -> None: self.create("orderbook", datastore_class=OrderBookInverse) self.create("trade", datastore_class=TradeInverse) @@ -28,6 +32,16 @@ def _init(self) -> None: self.timestamp_e6: Optional[int] = None async def initialize(self, *aws: Awaitable[aiohttp.ClientResponse]) -> None: + """ + 対応エンドポイント + + - GET /v2/private/order (DataStore: order) + - GET /futures/private/order (DataStore: order) + - GET /v2/private/stop-order (DataStore: stoporder) + - GET /futures/private/stop-order (DataStore: stoporder) + - GET /v2/private/position/list (DataStore: position) + - GET /futures/private/position/list (DataStore: position) + """ for f in asyncio.as_completed(aws): resp = await f data = await resp.json() @@ -116,6 +130,9 @@ def liquidation(self) -> "LiquidationInverse": @property def position(self) -> "PositionInverse": + """ + インバース契約(無期限/先物)用のポジション + """ return self.get("position", PositionInverse) @property @@ -124,14 +141,24 @@ def execution(self) -> "ExecutionInverse": @property def order(self) -> "OrderInverse": + """ + アクティブオーダーのみ(約定・キャンセル済みは削除される) + """ return self.get("order", OrderInverse) @property def stoporder(self) -> "StopOrderInverse": + """ + アクティブオーダーのみ(トリガー済みは削除される) + """ return self.get("stoporder", StopOrderInverse) class BybitUSDTDataStore(DataStoreManager): + """ + Bybit USDT契約のデータストアマネージャー + """ + def _init(self) -> None: self.create("orderbook", datastore_class=OrderBookUSDT) self.create("trade", datastore_class=TradeUSDT) @@ -147,6 +174,13 @@ def _init(self) -> None: self.timestamp_e6: Optional[int] = None async def initialize(self, *aws: Awaitable[aiohttp.ClientResponse]) -> None: + """ + 対応エンドポイント + + - GET /private/linear/order/search (DataStore: order) + - GET /private/linear/stop-order/search (DataStore: stoporder) + - GET /private/linear/position/list (DataStore: position) + """ for f in asyncio.as_completed(aws): resp = await f data = await resp.json() @@ -222,6 +256,9 @@ def liquidation(self) -> "LiquidationUSDT": @property def position(self) -> "PositionUSDT": + """ + USDT契約用のポジション + """ return self.get("position", PositionUSDT) @property @@ -230,10 +267,16 @@ def execution(self) -> "ExecutionUSDT": @property def order(self) -> "OrderUSDT": + """ + アクティブオーダーのみ(約定・キャンセル済みは削除される) + """ return self.get("order", OrderUSDT) @property def stoporder(self) -> "StopOrderUSDT": + """ + アクティブオーダーのみ(トリガー済みは削除される) + """ return self.get("stoporder", StopOrderUSDT) @property From 192735ad2857e386f28d464bb29c9ad9fa8841b6 Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Thu, 11 Nov 2021 00:48:50 +0900 Subject: [PATCH 24/25] Add binary data send/handle to websocket (#87) --- pybotters/client.py | 6 +++++- pybotters/typedefs.py | 3 +++ pybotters/ws.py | 19 +++++++++++++++++++ tests/test_client.py | 18 ++++++++++++++++++ 4 files changed, 45 insertions(+), 1 deletion(-) diff --git a/pybotters/client.py b/pybotters/client.py index acc0387..d64ee5e 100644 --- a/pybotters/client.py +++ b/pybotters/client.py @@ -12,7 +12,7 @@ from .auth import Auth from .request import ClientRequest -from .typedefs import WsJsonHandler, WsStrHandler +from .typedefs import WsBytesHandler, WsJsonHandler, WsStrHandler from .ws import ClientWebSocketResponse, ws_run_forever logger = logging.getLogger(__name__) @@ -189,8 +189,10 @@ async def ws_connect( url: str, *, send_str: Optional[Union[str, list[str]]] = None, + send_bytes: Optional[Union[bytes, list[bytes]]] = None, send_json: Any = None, hdlr_str: Optional[WsStrHandler] = None, + hdlr_bytes: Optional[WsBytesHandler] = None, hdlr_json: Optional[WsJsonHandler] = None, **kwargs: Any, ) -> asyncio.Task: @@ -214,8 +216,10 @@ async def ws_connect( self._session, event, send_str=send_str, + send_bytes=send_bytes, send_json=send_json, hdlr_str=hdlr_str, + hdlr_bytes=hdlr_bytes, hdlr_json=hdlr_json, **kwargs, ) diff --git a/pybotters/typedefs.py b/pybotters/typedefs.py index 3063b92..0ea6d5d 100644 --- a/pybotters/typedefs.py +++ b/pybotters/typedefs.py @@ -5,6 +5,9 @@ WsStrHandler = Callable[ [str, ClientWebSocketResponse], Optional[Coroutine[Any, Any, None]] ] +WsBytesHandler = Callable[ + [bytes, ClientWebSocketResponse], Optional[Coroutine[Any, Any, None]] +] WsJsonHandler = Callable[ [Any, ClientWebSocketResponse], Optional[Coroutine[Any, Any, None]] ] diff --git a/pybotters/ws.py b/pybotters/ws.py index 7137abb..2006e24 100644 --- a/pybotters/ws.py +++ b/pybotters/ws.py @@ -37,8 +37,10 @@ async def ws_run_forever( event: asyncio.Event, *, send_str: Optional[Union[str, list[str]]] = None, + send_bytes: Optional[Union[bytes, list[bytes]]] = None, send_json: Any = None, hdlr_str=None, + hdlr_bytes=None, hdlr_json=None, auth=_Auth, **kwargs: Any, @@ -46,6 +48,7 @@ async def ws_run_forever( if all([hdlr_str is None, hdlr_json is None]): hdlr_json = pybotters.print_handler iscorofunc_str = asyncio.iscoroutinefunction(hdlr_str) + iscorofunc_bytes = asyncio.iscoroutinefunction(hdlr_bytes) iscorofunc_json = asyncio.iscoroutinefunction(hdlr_json) while not session.closed: cooldown = asyncio.create_task(asyncio.sleep(60.0)) @@ -59,6 +62,13 @@ async def ws_run_forever( await asyncio.gather(*[ws.send_str(item) for item in send_str]) else: await ws.send_str(send_str) + if send_bytes is not None: + if isinstance(send_bytes, list): + await asyncio.gather( + *[ws.send_bytes(item) for item in send_bytes] + ) + else: + await ws.send_bytes(send_bytes) if send_json is not None: if isinstance(send_json, list): await asyncio.gather( @@ -89,6 +99,15 @@ async def ws_run_forever( hdlr_json(data, ws) except Exception as e: logger.exception(f'{pretty_modulename(e)}: {e}') + elif msg.type == aiohttp.WSMsgType.BINARY: + if hdlr_bytes is not None: + try: + if iscorofunc_bytes: + await hdlr_bytes(msg.data, ws) + else: + hdlr_bytes(msg.data, ws) + except Exception as e: + logger.exception(f'{pretty_modulename(e)}: {e}') elif msg.type == aiohttp.WSMsgType.ERROR: break except ( diff --git a/tests/test_client.py b/tests/test_client.py index f308ed4..2def1cd 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -153,3 +153,21 @@ async def test_client_ws_connect_json(mocker: pytest_mock.MockerFixture): assert coro.called assert task.called assert ret == task.return_value + + +@pytest.mark.asyncio +async def test_client_ws_connect_bytes(mocker: pytest_mock.MockerFixture): + event = asyncio.Event() + event.set() + mocker.patch('asyncio.Event', return_value=event) + task = mocker.patch('asyncio.create_task') + coro = mocker.patch('pybotters.client.ws_run_forever') + async with pybotters.Client() as client: + ret = await client.ws_connect( + 'ws://test.org', + send_bytes=b'{"foo":"bar"}', + hdlr_bytes=lambda msg, ws: ..., + ) + assert coro.called + assert task.called + assert ret == task.return_value From 1dca5685aa9ee8b7b065b0574c22a8954ce7956c Mon Sep 17 00:00:00 2001 From: MtkN1 <51289448+MtkN1@users.noreply.github.com> Date: Thu, 11 Nov 2021 01:35:13 +0900 Subject: [PATCH 25/25] Add timestamp to GMOCoinDataStore (#88) --- pybotters/models/gmocoin.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pybotters/models/gmocoin.py b/pybotters/models/gmocoin.py index 75fcc50..e068f21 100644 --- a/pybotters/models/gmocoin.py +++ b/pybotters/models/gmocoin.py @@ -289,6 +289,9 @@ def _onmessage(self, mes: Ticker) -> None: class OrderBookStore(DataStore): _KEYS = ["symbol", "side", "price"] + def _init(self) -> None: + self.timestamp: Optional[datetime] = None + def sorted(self, query: Optional[Item] = None) -> dict[OrderSide, list[OrderLevel]]: if query is None: query = {} @@ -308,6 +311,7 @@ def _onmessage(self, mes: OrderBook) -> None: result = self.find({"symbol": mes["symbol"]}) self._delete(result) self._insert(cast(list[Item], data)) + self.timestamp = mes["timestamp"] class TradeStore(DataStore):