Files
bitfinex-api-py/bfxapi/client.py
2023-02-16 20:12:02 +01:00

43 lines
1.2 KiB
Python

from .rest import BfxRestInterface
from .websocket import BfxWebsocketClient
from typing import List, Optional
from enum import Enum
class Constants(str, Enum):
REST_HOST = "https://api.bitfinex.com/v2"
PUB_REST_HOST = "https://api-pub.bitfinex.com/v2"
STAGING_REST_HOST = "https://api.staging.bitfinex.com/v2"
WSS_HOST = "wss://api.bitfinex.com/ws/2"
PUB_WSS_HOST = "wss://api-pub.bitfinex.com/ws/2"
STAGING_WSS_HOST = "wss://api.staging.bitfinex.com/ws/2"
class Client(object):
def __init__(
self,
REST_HOST: str = Constants.REST_HOST,
WSS_HOST: str = Constants.WSS_HOST,
API_KEY: Optional[str] = None,
API_SECRET: Optional[str] = None,
filter: Optional[List[str]] = None,
log_level: str = "WARNING"
):
credentials = {
"API_KEY": API_KEY,
"API_SECRET": API_SECRET,
"filter": filter
}
self.rest = BfxRestInterface(
host=REST_HOST,
API_KEY=API_KEY,
API_SECRET=API_SECRET
)
self.wss = BfxWebsocketClient(
host=WSS_HOST,
credentials=credentials,
log_level=log_level
)