39 lines
1.2 KiB
Python
Raw Normal View History

"""
Exchange-specific data collectors.
This package contains implementations for different cryptocurrency exchanges,
each organized in its own subfolder with standardized interfaces.
"""
from .okx import OKXCollector, OKXWebSocketClient
from .factory import ExchangeFactory, ExchangeCollectorConfig, create_okx_collector
from .registry import get_supported_exchanges, get_exchange_info
__all__ = [
'OKXCollector',
'OKXWebSocketClient',
'ExchangeFactory',
'ExchangeCollectorConfig',
'create_okx_collector',
'get_supported_exchanges',
'get_exchange_info',
]
# Exchange registry for factory pattern
EXCHANGE_REGISTRY = {
'okx': {
'collector': 'data.exchanges.okx.collector.OKXCollector',
'websocket': 'data.exchanges.okx.websocket.OKXWebSocketClient',
'name': 'OKX',
'supported_pairs': ['BTC-USDT', 'ETH-USDT', 'SOL-USDT', 'DOGE-USDT', 'TON-USDT'],
'supported_data_types': ['trade', 'orderbook', 'ticker', 'candles']
}
}
def get_supported_exchanges():
"""Get list of supported exchange names."""
return list(EXCHANGE_REGISTRY.keys())
def get_exchange_info(exchange_name: str):
"""Get information about a specific exchange."""
return EXCHANGE_REGISTRY.get(exchange_name.lower())