cryptodatapy.extract.exchanges.exchange ======================================= .. py:module:: cryptodatapy.extract.exchanges.exchange Classes ------- .. autoapisummary:: cryptodatapy.extract.exchanges.exchange.Exchange Module Contents --------------- .. py:class:: Exchange(name, exch_type, is_active, categories, assets, markets, market_types, fields, frequencies, fees, base_url, api_key, max_obs_per_call, rate_limit) Bases: :py:obj:`abc.ABC` Abstract base class for crypto exchanges (CEX or DEX). This class provides a blueprint for interacting with crypto exchanges, including authentication, data retrieval, and trading functionality. .. py:property:: name Returns the type of exchange. .. py:property:: exch_type Returns the type of exchange. .. py:property:: is_active Returns whether the exchange is active. .. py:property:: categories Returns a list of available categories for the data vendor. .. py:property:: assets Returns a list of available assets for the data vendor. .. py:property:: markets Returns a list of available markets for the data vendor. .. py:property:: market_types Returns a list of available market types for the data vendor. .. py:property:: fields Returns a list of available fields for the data vendor. .. py:property:: frequencies Returns a list of available data frequencies for the data vendor. .. py:property:: fees Returns a list of fees for the data vendor. .. py:property:: base_url Returns the base url for the data vendor. .. py:property:: api_key Returns the api key for the data vendor. .. py:property:: max_obs_per_call Returns the maximum observations per API call for the data vendor. .. py:property:: rate_limit Returns the number of API calls made and remaining. .. py:method:: get_assets_info() :abstractmethod: Gets info for available assets from the data vendor. .. py:method:: get_markets_info() :abstractmethod: Gets info for available markets from the data vendor. .. py:method:: get_fields_info(data_type: Optional[str]) :abstractmethod: Gets info for available fields from the data vendor. .. py:method:: get_frequencies_info(data_type: Optional[str]) :abstractmethod: Gets info for available frequencies from the exchange. .. py:method:: get_rate_limit_info() :abstractmethod: Gets the number of API calls made and remaining. .. py:method:: get_metadata() -> None :abstractmethod: Get exchange metadata. .. py:method:: get_data(data_req) -> pandas.DataFrame :abstractmethod: Submits get data request to API. .. py:method:: _wrangle_data_resp(data_req: cryptodatapy.extract.datarequest.DataRequest, data_resp: Union[Dict[str, Any], pandas.DataFrame]) -> pandas.DataFrame :staticmethod: :abstractmethod: Wrangles data response from data vendor API into tidy format.