diff --git a/bfxapi/labeler.py b/bfxapi/labeler.py index 160e054..9714b5c 100644 --- a/bfxapi/labeler.py +++ b/bfxapi/labeler.py @@ -4,7 +4,7 @@ from typing import Generic, TypeVar, Iterable, Optional, List, Tuple, Any, cast T = TypeVar("T") -class _Typing(object): +class _Type(object): def __init__(self, **kwargs): for key, value in kwargs.items(): self.__setattr__(key,value) @@ -24,4 +24,4 @@ class _Serializer(Generic[T]): yield label, args[index] def parse(self, *values: Any, skip: Optional[List[str]] = None) -> T: - return cast(T, _Typing(**dict(self._serialize(*values, skip=skip)))) \ No newline at end of file + return cast(T, _Type(**dict(self._serialize(*values, skip=skip)))) \ No newline at end of file diff --git a/bfxapi/notification.py b/bfxapi/notification.py index b8cdb37..e66ba60 100644 --- a/bfxapi/notification.py +++ b/bfxapi/notification.py @@ -2,12 +2,12 @@ from typing import List, Dict, Union, Optional, Any, TypedDict, Generic, TypeVar from dataclasses import dataclass -from .labeler import _Typing, _Serializer +from .labeler import _Type, _Serializer T = TypeVar("T") @dataclass -class Notification(_Typing, Generic[T]): +class Notification(_Type, Generic[T]): MTS: int TYPE: str MESSAGE_ID: Optional[int] @@ -25,7 +25,7 @@ class _Notification(_Serializer, Generic[T]): self.serializer, self.iterate = serializer, iterate def parse(self, *values: Any, skip: Optional[List[str]] = None) -> Notification[T]: - notification = cast(Notification[T], _Typing(**dict(self._serialize(*values)))) + notification = cast(Notification[T], _Type(**dict(self._serialize(*values)))) if isinstance(self.serializer, _Serializer): NOTIFY_INFO = cast(List[Any], notification.NOTIFY_INFO) @@ -34,7 +34,7 @@ class _Notification(_Serializer, Generic[T]): if len(NOTIFY_INFO) == 1 and isinstance(NOTIFY_INFO[0], list): NOTIFY_INFO = NOTIFY_INFO[0] - notification.NOTIFY_INFO = cast(T, _Typing(**dict(self.serializer._serialize(*NOTIFY_INFO, skip=skip)))) - else: notification.NOTIFY_INFO = cast(T, [ _Typing(**dict(self.serializer._serialize(*data, skip=skip))) for data in NOTIFY_INFO ]) + notification.NOTIFY_INFO = cast(T, _Type(**dict(self.serializer._serialize(*NOTIFY_INFO, skip=skip)))) + else: notification.NOTIFY_INFO = cast(T, [ _Type(**dict(self.serializer._serialize(*data, skip=skip))) for data in NOTIFY_INFO ]) return notification \ No newline at end of file diff --git a/bfxapi/rest/BfxRestInterface.py b/bfxapi/rest/BfxRestInterface.py index b967775..33f5657 100644 --- a/bfxapi/rest/BfxRestInterface.py +++ b/bfxapi/rest/BfxRestInterface.py @@ -8,7 +8,7 @@ from typing import List, Union, Literal, Optional, Any, cast from . import serializers -from .typings import * +from .types import * from .enums import Config, Sort, OrderType, FundingOfferType, Error from .exceptions import ResourceNotFound, RequestParametersError, InvalidAuthenticationCredentials, UnknownGenericError diff --git a/bfxapi/rest/serializers.py b/bfxapi/rest/serializers.py index 9e2612a..4196b52 100644 --- a/bfxapi/rest/serializers.py +++ b/bfxapi/rest/serializers.py @@ -1,4 +1,4 @@ -from . import typings +from . import types from .. labeler import _Serializer @@ -6,11 +6,11 @@ from .. notification import _Notification #region Serializers definition for Rest Public Endpoints -PlatformStatus = _Serializer[typings.PlatformStatus]("PlatformStatus", labels=[ +PlatformStatus = _Serializer[types.PlatformStatus]("PlatformStatus", labels=[ "OPERATIVE" ]) -TradingPairTicker = _Serializer[typings.TradingPairTicker]("TradingPairTicker", labels=[ +TradingPairTicker = _Serializer[types.TradingPairTicker]("TradingPairTicker", labels=[ "SYMBOL", "BID", "BID_SIZE", @@ -24,7 +24,7 @@ TradingPairTicker = _Serializer[typings.TradingPairTicker]("TradingPairTicker", "LOW" ]) -FundingCurrencyTicker = _Serializer[typings.FundingCurrencyTicker]("FundingCurrencyTicker", labels=[ +FundingCurrencyTicker = _Serializer[types.FundingCurrencyTicker]("FundingCurrencyTicker", labels=[ "SYMBOL", "FRR", "BID", @@ -44,7 +44,7 @@ FundingCurrencyTicker = _Serializer[typings.FundingCurrencyTicker]("FundingCurre "FRR_AMOUNT_AVAILABLE" ]) -TickersHistory = _Serializer[typings.TickersHistory]("TickersHistory", labels=[ +TickersHistory = _Serializer[types.TickersHistory]("TickersHistory", labels=[ "SYMBOL", "BID", "_PLACEHOLDER", @@ -60,14 +60,14 @@ TickersHistory = _Serializer[typings.TickersHistory]("TickersHistory", labels=[ "MTS" ]) -TradingPairTrade = _Serializer[typings.TradingPairTrade]("TradingPairTrade", labels=[ +TradingPairTrade = _Serializer[types.TradingPairTrade]("TradingPairTrade", labels=[ "ID", "MTS", "AMOUNT", "PRICE" ]) -FundingCurrencyTrade = _Serializer[typings.FundingCurrencyTrade]("FundingCurrencyTrade", labels=[ +FundingCurrencyTrade = _Serializer[types.FundingCurrencyTrade]("FundingCurrencyTrade", labels=[ "ID", "MTS", "AMOUNT", @@ -75,38 +75,38 @@ FundingCurrencyTrade = _Serializer[typings.FundingCurrencyTrade]("FundingCurrenc "PERIOD" ]) -TradingPairBook = _Serializer[typings.TradingPairBook]("TradingPairBook", labels=[ +TradingPairBook = _Serializer[types.TradingPairBook]("TradingPairBook", labels=[ "PRICE", "COUNT", "AMOUNT" ]) -FundingCurrencyBook = _Serializer[typings.FundingCurrencyBook]("FundingCurrencyBook", labels=[ +FundingCurrencyBook = _Serializer[types.FundingCurrencyBook]("FundingCurrencyBook", labels=[ "RATE", "PERIOD", "COUNT", "AMOUNT" ]) -TradingPairRawBook = _Serializer[typings.TradingPairRawBook]("TradingPairRawBook", labels=[ +TradingPairRawBook = _Serializer[types.TradingPairRawBook]("TradingPairRawBook", labels=[ "ORDER_ID", "PRICE", "AMOUNT" ]) -FundingCurrencyRawBook = _Serializer[typings.FundingCurrencyRawBook]("FundingCurrencyRawBook", labels=[ +FundingCurrencyRawBook = _Serializer[types.FundingCurrencyRawBook]("FundingCurrencyRawBook", labels=[ "OFFER_ID", "PERIOD", "RATE", "AMOUNT" ]) -Statistic = _Serializer[typings.Statistic]("Statistic", labels=[ +Statistic = _Serializer[types.Statistic]("Statistic", labels=[ "MTS", "VALUE" ]) -Candle = _Serializer[typings.Candle]("Candle", labels=[ +Candle = _Serializer[types.Candle]("Candle", labels=[ "MTS", "OPEN", "CLOSE", @@ -115,7 +115,7 @@ Candle = _Serializer[typings.Candle]("Candle", labels=[ "VOLUME" ]) -DerivativesStatus = _Serializer[typings.DerivativesStatus]("DerivativesStatus", labels=[ +DerivativesStatus = _Serializer[types.DerivativesStatus]("DerivativesStatus", labels=[ "KEY", "MTS", "_PLACEHOLDER", @@ -142,7 +142,7 @@ DerivativesStatus = _Serializer[typings.DerivativesStatus]("DerivativesStatus", "CLAMP_MAX" ]) -Liquidation = _Serializer[typings.Liquidation]("Liquidation", labels=[ +Liquidation = _Serializer[types.Liquidation]("Liquidation", labels=[ "_PLACEHOLDER", "POS_ID", "MTS", @@ -157,7 +157,7 @@ Liquidation = _Serializer[typings.Liquidation]("Liquidation", labels=[ "PRICE_ACQUIRED" ]) -Leaderboard = _Serializer[typings.Leaderboard]("Leaderboard", labels=[ +Leaderboard = _Serializer[types.Leaderboard]("Leaderboard", labels=[ "MTS", "_PLACEHOLDER", "USERNAME", @@ -170,7 +170,7 @@ Leaderboard = _Serializer[typings.Leaderboard]("Leaderboard", labels=[ "TWITTER_HANDLE" ]) -FundingStatistic = _Serializer[typings.FundingStatistic]("FundingStatistic", labels=[ +FundingStatistic = _Serializer[types.FundingStatistic]("FundingStatistic", labels=[ "TIMESTAMP", "_PLACEHOLDER", "_PLACEHOLDER", @@ -189,7 +189,7 @@ FundingStatistic = _Serializer[typings.FundingStatistic]("FundingStatistic", lab #region Serializers definition for Rest Authenticated Endpoints -Wallet = _Serializer[typings.Wallet]("Wallet", labels=[ +Wallet = _Serializer[types.Wallet]("Wallet", labels=[ "WALLET_TYPE", "CURRENCY", "BALANCE", @@ -199,7 +199,7 @@ Wallet = _Serializer[typings.Wallet]("Wallet", labels=[ "TRADE_DETAILS" ]) -Order = _Serializer[typings.Order]("Order", labels=[ +Order = _Serializer[types.Order]("Order", labels=[ "ID", "GID", "CID", @@ -234,7 +234,7 @@ Order = _Serializer[typings.Order]("Order", labels=[ "META" ]) -Position = _Serializer[typings.Position]("Position", labels=[ +Position = _Serializer[types.Position]("Position", labels=[ "SYMBOL", "STATUS", "AMOUNT", @@ -257,7 +257,7 @@ Position = _Serializer[typings.Position]("Position", labels=[ "META" ]) -FundingOffer = _Serializer[typings.FundingOffer]("FundingOffer", labels=[ +FundingOffer = _Serializer[types.FundingOffer]("FundingOffer", labels=[ "ID", "SYMBOL", "MTS_CREATED", @@ -281,7 +281,7 @@ FundingOffer = _Serializer[typings.FundingOffer]("FundingOffer", labels=[ "_PLACEHOLDER" ]) -Trade = _Serializer[typings.Trade]("Trade", labels=[ +Trade = _Serializer[types.Trade]("Trade", labels=[ "ID", "PAIR", "MTS_CREATE", @@ -296,7 +296,7 @@ Trade = _Serializer[typings.Trade]("Trade", labels=[ "CID" ]) -OrderTrade = _Serializer[typings.OrderTrade]("OrderTrade", labels=[ +OrderTrade = _Serializer[types.OrderTrade]("OrderTrade", labels=[ "ID", "PAIR", "MTS_CREATE", @@ -311,7 +311,7 @@ OrderTrade = _Serializer[typings.OrderTrade]("OrderTrade", labels=[ "CID" ]) -Ledger = _Serializer[typings.Ledger]("Ledger", labels=[ +Ledger = _Serializer[types.Ledger]("Ledger", labels=[ "ID", "CURRENCY", "_PLACEHOLDER", @@ -323,7 +323,7 @@ Ledger = _Serializer[typings.Ledger]("Ledger", labels=[ "DESCRIPTION" ]) -FundingCredit = _Serializer[typings.FundingCredit]("FundingCredit", labels=[ +FundingCredit = _Serializer[types.FundingCredit]("FundingCredit", labels=[ "ID", "SYMBOL", "SIDE", diff --git a/bfxapi/rest/typings.py b/bfxapi/rest/types.py similarity index 85% rename from bfxapi/rest/typings.py rename to bfxapi/rest/types.py index ef397a9..a27a404 100644 --- a/bfxapi/rest/typings.py +++ b/bfxapi/rest/types.py @@ -2,7 +2,7 @@ from typing import Type, Tuple, List, Dict, TypedDict, Union, Optional, Any from dataclasses import dataclass -from .. labeler import _Typing +from .. labeler import _Type from .. notification import Notification @@ -11,11 +11,11 @@ JSON = Union[Dict[str, "JSON"], List["JSON"], bool, int, float, str, Type[None]] #region Type hinting for Rest Public Endpoints @dataclass -class PlatformStatus(_Typing): +class PlatformStatus(_Type): OPERATIVE: int @dataclass -class TradingPairTicker(_Typing): +class TradingPairTicker(_Type): SYMBOL: Optional[str] BID: float BID_SIZE: float @@ -29,7 +29,7 @@ class TradingPairTicker(_Typing): LOW: float @dataclass -class FundingCurrencyTicker(_Typing): +class FundingCurrencyTicker(_Type): SYMBOL: Optional[str] FRR: float BID: float @@ -47,21 +47,21 @@ class FundingCurrencyTicker(_Typing): FRR_AMOUNT_AVAILABLE: float @dataclass -class TickersHistory(_Typing): +class TickersHistory(_Type): SYMBOL: str BID: float ASK: float MTS: int @dataclass -class TradingPairTrade(_Typing): +class TradingPairTrade(_Type): ID: int MTS: int AMOUNT: float PRICE: float @dataclass -class FundingCurrencyTrade(_Typing): +class FundingCurrencyTrade(_Type): ID: int MTS: int AMOUNT: float @@ -69,38 +69,38 @@ class FundingCurrencyTrade(_Typing): PERIOD: int @dataclass -class TradingPairBook(_Typing): +class TradingPairBook(_Type): PRICE: float COUNT: int AMOUNT: float @dataclass -class FundingCurrencyBook(_Typing): +class FundingCurrencyBook(_Type): RATE: float PERIOD: int COUNT: int AMOUNT: float @dataclass -class TradingPairRawBook(_Typing): +class TradingPairRawBook(_Type): ORDER_ID: int PRICE: float AMOUNT: float @dataclass -class FundingCurrencyRawBook(_Typing): +class FundingCurrencyRawBook(_Type): OFFER_ID: int PERIOD: int RATE: float AMOUNT: float @dataclass -class Statistic(_Typing): +class Statistic(_Type): MTS: int VALUE: float @dataclass -class Candle(_Typing): +class Candle(_Type): MTS: int OPEN: float CLOSE: float @@ -109,7 +109,7 @@ class Candle(_Typing): VOLUME: float @dataclass -class DerivativesStatus(_Typing): +class DerivativesStatus(_Type): KEY: Optional[str] MTS: int DERIV_PRICE: float @@ -125,7 +125,7 @@ class DerivativesStatus(_Typing): CLAMP_MAX: float @dataclass -class Liquidation(_Typing): +class Liquidation(_Type): POS_ID: int MTS: int SYMBOL: str @@ -136,7 +136,7 @@ class Liquidation(_Typing): PRICE_ACQUIRED: float @dataclass -class Leaderboard(_Typing): +class Leaderboard(_Type): MTS: int USERNAME: str RANKING: int @@ -144,7 +144,7 @@ class Leaderboard(_Typing): TWITTER_HANDLE: Optional[str] @dataclass -class FundingStatistic(_Typing): +class FundingStatistic(_Type): TIMESTAMP: int FRR: float AVG_PERIOD: float @@ -157,7 +157,7 @@ class FundingStatistic(_Typing): #region Type hinting for Rest Authenticated Endpoints @dataclass -class Wallet(_Typing): +class Wallet(_Type): WALLET_TYPE: str CURRENCY: str BALANCE: float @@ -167,7 +167,7 @@ class Wallet(_Typing): TRADE_DETAILS: JSON @dataclass -class Order(_Typing): +class Order(_Type): ID: int GID: int CID: int @@ -192,7 +192,7 @@ class Order(_Typing): META: JSON @dataclass -class Position(_Typing): +class Position(_Type): SYMBOL: str STATUS: str AMOUNT: float @@ -212,7 +212,7 @@ class Position(_Typing): META: JSON @dataclass -class FundingOffer(_Typing): +class FundingOffer(_Type): ID: int SYMBOL: str MTS_CREATE: int @@ -229,7 +229,7 @@ class FundingOffer(_Typing): RENEW: bool @dataclass -class Trade(_Typing): +class Trade(_Type): ID: int SYMBOL: str MTS_CREATE: int @@ -244,7 +244,7 @@ class Trade(_Typing): CID: int @dataclass -class OrderTrade(_Typing): +class OrderTrade(_Type): ID: int SYMBOL: str MTS_CREATE: int @@ -257,7 +257,7 @@ class OrderTrade(_Typing): CID: int @dataclass -class Ledger(_Typing): +class Ledger(_Type): ID: int CURRENCY: str MTS: int @@ -266,7 +266,7 @@ class Ledger(_Typing): description: str @dataclass -class FundingCredit(_Typing): +class FundingCredit(_Type): ID: int SYMBOL: str SIDE: int