From df802b667dc851560ef3d580a4a4b4e1f10e47ee Mon Sep 17 00:00:00 2001 From: Luis Rodrigues Date: Sat, 22 Jun 2024 00:35:06 +0100 Subject: [PATCH] =?UTF-8?q?foi=20refor=C3=A7ado=20as=20anota=C3=A7=C3=B5es?= =?UTF-8?q?=20de=20tipo=20com=20uso=20da=20classe=20'Any'=20do=20m=C3=B3du?= =?UTF-8?q?lo=20'typing'.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__pycache__/coingecko_api.cpython-312.pyc | Bin 41896 -> 41971 bytes modulos/coingecko_api.py | 140 +++++++++--------- 2 files changed, 72 insertions(+), 68 deletions(-) diff --git a/modulos/__pycache__/coingecko_api.cpython-312.pyc b/modulos/__pycache__/coingecko_api.cpython-312.pyc index 9d819356643c220376b036eeac15bb82f7719606..febabca3363d55953809ab678167fae8b7e724f1 100644 GIT binary patch delta 7049 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 diff --git a/modulos/coingecko_api.py b/modulos/coingecko_api.py index 36a13be..ddf0b71 100644 --- a/modulos/coingecko_api.py +++ b/modulos/coingecko_api.py @@ -2,6 +2,7 @@ # . documentação API: https://docs.coingecko.com/v3.0.1/reference/introduction import requests +from typing import Any CHAVE_API = 'CG-K5RS5VXsdFDip2UvY3z8VjQP' headers = { @@ -12,7 +13,10 @@ headers = { url_raiz_API = 'https://api.coingecko.com/api/v3/' # chamada API geral -def API(api_endpoint: str = '', api_parameters_dict: dict[str, str] = {}) -> tuple[str, int, dict]: +def API( + api_endpoint: str = '', + api_parameters_dict: dict[str, str] = {} +) -> tuple[str, int, dict[Any, Any]]: '''função genérica para fazer uma chamada a API CoinGecko''' # validar parametros # api_endpoint @@ -59,7 +63,7 @@ def coin_price_by_ids( include_24hr_change: bool = False, include_last_updated_at: bool = False, precision: int | str = '' -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/simple-price consultar preço de um ou mais moedas usando o seu ID de Moeda @@ -71,7 +75,7 @@ def coin_price_by_ids( vs_currencies (obrigatorio)''' # dicionario de parametros - api_parameters= { + api_parameters: dict[str, str] = { 'ids': '', 'vs_currencies': '', 'include_24hr_vol': '', @@ -152,7 +156,7 @@ def coin_price_by_token_addresses( include_24hr_change: bool = False, include_last_updated_at: bool = False, precision: int | str = '' -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/simple-token-price consultar preco de tokens usando os endereços de contrato dos tokens @@ -164,7 +168,7 @@ def coin_price_by_token_addresses( vs_currencies (obrigatorio) - moedas de referencia, separadas por virgula se forem mais que 1''' # dicionario de parametros - api_parameters= { + api_parameters: dict[str, str]= { 'id_platform': '', 'contract_addresses': '', 'vs_currencies': '', @@ -245,7 +249,7 @@ def coin_price_by_token_addresses( # print(f'erro {codigo}: {dados}') -def supported_currencies_list() -> tuple[str, int, dict]: +def supported_currencies_list() -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/simple-supported-currencies este endpoint permite consultar quais as moedas de referencia suportadas pela CoinGecko''' @@ -262,14 +266,14 @@ def supported_currencies_list() -> tuple[str, int, dict]: # print(f'erro {codigo}: {dados}') -def coins_list(include_platform: bool = False) -> tuple[str, int, dict]: +def coins_list(include_platform: bool = False) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/coins-list obter todas as moedas suportadas em CoinGecko com IDs, nome, simbolo e (no caso de contractos) endereco na plataforma das moedas ''' # dicionario de parametros - api_parameters= { + api_parameters: dict[str, str]= { 'include_platform': '', } # validacao parametros @@ -322,7 +326,7 @@ def coins_list_with_market_data( price_change_percentage: str = '', locale: str = '', precision: int | str = '' -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: ''' https://docs.coingecko.com/v3.0.1/reference/coins-markets @@ -330,7 +334,7 @@ def coins_list_with_market_data( ''' # dicionario de parametros para passar para a API, todos os valores tem de ser do tipo 'str' - api_parameters = { + api_parameters: dict[str, str] = { 'vs_currency': '', 'ids': '', 'category': '', @@ -433,7 +437,7 @@ def coin_data_by_id( community_data: bool = True, developer_data: bool = True, sparkline: bool = False, -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/coins-id este endpoint permite fazer uma consulta a todos os dados de uma moeda @@ -441,7 +445,7 @@ def coin_data_by_id( CoinGecko com base numa id de moeda ''' # dicionario de parametros - api_parameters = { + api_parameters: dict[str, str] = { 'id': '', 'localization': '', 'tickers': '', @@ -507,7 +511,7 @@ def coin_tickers_by_id( page: int = -1, order: str = '', depth: bool = False -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/coins-id-tickers este endpoint permite fazer uma consulta de tickers tanto em @@ -575,7 +579,7 @@ def coin_historical_data_by_id( id_criptomoeda: str = '', date: str = '', localization: bool = True -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/coins-id-history este endpoint permite fazer consulta de dados historicos (preco, cap mercado, volume 24h, @@ -626,14 +630,14 @@ def coin_historical_chart_data_by_id( days: str = '', interval: str = '', precision: int | str = 'full' -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/coins-id-market-chart este endpoint permite fazer consulta para obter dados historicos graficos que incluem tempo unix, preco, capitalizacao mercado e volume 24h a partir de um id de moeda ''' # dicionario parametros - api_parameters = { + api_parameters: dict[str, str] = { 'id': '', 'vs_currency': '', 'days': '', @@ -698,14 +702,14 @@ def coin_historical_chart_data_within_time_range_by_id( from_unix: int = -1, to_unix: int = -1, precision: str | int = 'full' -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/coins-id-market-chart-range este endpoint permite obter dados historicos graficos compreendidos num periodo de tempo unix com preco, capitalizacao de mercado e volume 24hrs a partir de um id de moeda ''' # dicionario parametros - api_parameters = { + api_parameters: dict[str, str] = { 'id': '', 'vs_currency': '', 'from': '', @@ -769,14 +773,14 @@ def coin_ohlc_chart_by_id( vs_currency: str = '', days: str = '', precision: str | int = 'full' -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/coins-id-ohlc este endpoint permite fazer consulta ao gráfico OHLC (Open, High, Low, Close) de uma moeda usando o seu id ''' # dicionario parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'id': '', 'vs_currency': '', 'days': '', @@ -834,7 +838,7 @@ def coin_ohlc_chart_by_id( def coin_data_by_token_address( id_platform: str = '', contract_address: str = '' -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/coins-contract-address este endpoint permite consultar todos os dados de uma moeda (nome, preço, mercado... @@ -842,7 +846,7 @@ def coin_data_by_token_address( e do endereço do contrato do token ''' # dicionario parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'id': '', 'contract_address': '', } @@ -880,7 +884,7 @@ def coin_historical_chart_data_by_token_address( days: str = '', interval: str = '', precision: str | int = 'full' -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/contract-address-market-chart este endpoint permite consultar dados historicos graficos incluindo tempo UNIX, @@ -888,7 +892,7 @@ def coin_historical_chart_data_by_token_address( endereco de contracto do token ''' # dicionario parameters - api_parameters: dict = { + api_parameters: dict[str, str] = { 'id': '', 'contract_address': '', 'vs_currency': '', @@ -962,7 +966,7 @@ def coin_historical_chart_data_within_time_range_by_token_address( from_unix: int = -1, to_unix: int = -1, precision: str | int = 'full' -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/contract-address-market-chart-range est endpoint permite obter dados historicos graficos compreendidos num determinado @@ -970,7 +974,7 @@ def coin_historical_chart_data_within_time_range_by_token_address( partir da plataforma do activo e o seu endereco de contrato ''' # dicionario de parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'id': '', 'contract_address': '', 'vs_currency': '', @@ -1040,14 +1044,14 @@ def coin_historical_chart_data_within_time_range_by_token_address( # print(f'erro {codigo}: {dados}') -def assets_platforms_list(filter: str = '') -> tuple[str, int, dict]: +def assets_platforms_list(filter: str = '') -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/asset-platforms-list este endpoint permite fazer obter a lista de todas as plataformas de activos na CoinGecko ''' # dicionario de parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'filter': '', } # validacao de parametros @@ -1067,13 +1071,13 @@ def assets_platforms_list(filter: str = '') -> tuple[str, int, dict]: # else: # print(f'erro {codigo}: {dados}') -def coins_categories_list() -> tuple[str, int, dict]: +def coins_categories_list() -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/coins-categories-list este endpoint permite obter todas as categorias de moedas da CoinGecko ''' # dicionario de parametros - api_parameters: dict = {} + api_parameters: dict[str, str] = {} # validação de parametros return API(f'coins/categories/list', api_parameters) @@ -1088,14 +1092,14 @@ def coins_categories_list() -> tuple[str, int, dict]: # print(f'erro {codigo}: {dados}') -def coins_categories_list_with_market_data(order: str = '') -> tuple[str, int, dict]: +def coins_categories_list_with_market_data(order: str = '') -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/coins-categories este endpoint permite obter a lista de categorias de moedas da CoinGecko, com dados de mercado (capitalização de mercado, volume, etc) ''' # dicionario de parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'order': '' } # validacao de parametros @@ -1118,14 +1122,14 @@ def coins_categories_list_with_market_data(order: str = '') -> tuple[str, int, d def exchanges_list_with_data( per_page: int = -1, page: int = -1, -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/exchanges este endpoit permite obter todos os dados (id, nome, pais, etc) das correctoras suportadas que têm volumes de transacoes activas na CoinGecko ''' # dicionario de parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'per_page': '', 'page': '', } @@ -1153,14 +1157,14 @@ def exchanges_list_with_data( # else: # print(f'erro {codigo}: {dados}') -def exchanges_list() -> tuple[str, int, dict]: +def exchanges_list() -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/exchanges-list este endpoint permite obter uma lista com o id e nome de todas as correctoras ''' # dicionario de parametros - api_parameters: dict = {} + api_parameters: dict[str, str] = {} # validacao de parametros return API(f'exchanges/list', api_parameters) @@ -1176,14 +1180,14 @@ def exchanges_list() -> tuple[str, int, dict]: # print(f'erro {codigo}: {dados}') -def exchange_data_by_id(id_exchange: str = '') -> tuple[str, int, dict]: +def exchange_data_by_id(id_exchange: str = '') -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/exchanges-id este endpoint permite obter dados sobre uma correctora (nome, data de estabelecimento, pais, etc), volume em BTC da correctora e top 100 tickers a partir do id da correctora ''' # dicionario de parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'id': '', } # validacao de parametros @@ -1213,14 +1217,14 @@ def exchange_tickers_by_id( page: int = -1, depth: bool = False, order: str = '' -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/exchanges-id-tickers este endpoint permite obter os tickers de uma correctora a partir da id da correctora ''' # dicionario de parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'id': '', 'coin_ids': '', 'include_exchange_logo': '', @@ -1275,14 +1279,14 @@ def exchange_tickers_by_id( def exchange_volume_chart_by_id( id_exchange: str = '', days: str = '' -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/exchanges-id-volume-chart este endpoint permite obter dados de volume historico grafico com tempo UNIX e volume de negociação em BTC a partir do id da correctora ''' # dicionario de parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'id': '', 'days': '', } @@ -1312,14 +1316,14 @@ def exchange_volume_chart_by_id( # else: # print(f'erro {codigo}: {dados}') -def derivatives_tickers_list() -> tuple[str, int, dict]: +def derivatives_tickers_list() -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/derivatives-tickers este endpoint permite obter uma lista com dados dos tickers das correctoras de derivativos da CoinGecko ''' # dicionario de parametros - api_parameters: dict = {} + api_parameters: dict[str, str] = {} # validacao de parametros return API(f'derivatives', api_parameters) @@ -1338,14 +1342,14 @@ def derivatives_exchange_list_with_data( order: str = '', per_page: int = -1, page: int = -1 -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges este endpoint permite obter todas as correctoras de derivativos com os seus dados (id, nome, contractos em aberto, etc) disponiveis na CoinGecko ''' # dicionario de parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'order': '', 'per_page': '', 'page': '', @@ -1381,14 +1385,14 @@ def derivatives_exchange_list_with_data( def derivatives_exchange_data_by_id( id_exchange: str = '', include_tickers: str = '', -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges-id este endpoint permite obter os dados relativos a uma correctora de derivados (id, nome, contractos em aberto, etc) a partir do id da correctora) ''' # dicionario de parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'id': '', 'include_tickers': '', } @@ -1416,14 +1420,14 @@ def derivatives_exchange_data_by_id( # else: # print(f'erro {codigo}: {dados}') -def derivatives_exchanges_list() -> tuple[str, int, dict]: +def derivatives_exchanges_list() -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges-list este endpoint permite obter uma lista dos derivados de correctoras com id e nome da CoinGecko ''' # dicionario de parametros - api_parameters: dict = {} + api_parameters: dict[str, str] = {} # validacao de parametros return API(f'derivatives/exchanges/list', api_parameters) @@ -1442,14 +1446,14 @@ def nfts_list( order: str = '', per_page: int = -1, page: int = -1 -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/nfts-list este endpoint permite obter todos os NFTs suportados com id, endereço de contracto, nome, id da platforma do activo e o simbolo da CoinGecko ''' # dicionario de parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'order': '', 'per_page': '', 'page': '', @@ -1482,14 +1486,14 @@ def nfts_list( # else: # print(f'erro {codigo}: {dados}') -def nfts_collection_data_by_id(id_nft: str = '') -> tuple[str, int, dict]: +def nfts_collection_data_by_id(id_nft: str = '') -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/nfts-id este endpoint permite obter todos os dados do NTF (nome, preco minimo, volume 24hrs, etc) a partir do id da coleccao NFT ''' # dicionario de parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'id': '', } # validacao de parametros @@ -1515,14 +1519,14 @@ def nfts_collection_data_by_id(id_nft: str = '') -> tuple[str, int, dict]: def nfts_collection_data_by_contract_address( asset_platform_id: str = '', contract_address: str = '' -) -> tuple[str, int, dict]: +) -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/nfts-contract-address este endpoint permite obter toda a informação do NFT (nome, preco minimo, volume 24hrs, etc) a partir do endereco de contracto da colecao NFT e respectiva plataforma de activo ''' # dicionario parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'asset_platform_id': '', 'contract_address': '', } @@ -1552,13 +1556,13 @@ def nfts_collection_data_by_contract_address( # else: # print(f'erro {codigo}: {dados}') -def btc_to_currency_exchange_rates() -> tuple[str, int, dict]: +def btc_to_currency_exchange_rates() -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/exchange-rates este endpoint permite consultar a taxa de conversão BTC com outras moedas ''' # dicionario parametros - api_parameters: dict = {} + api_parameters: dict[str, str] = {} # validacao de parametros return API(f'exchange_rates', api_parameters) @@ -1573,13 +1577,13 @@ def btc_to_currency_exchange_rates() -> tuple[str, int, dict]: # else: # print(f'erro {codigo}: {dados}') -def search_queries(query: str = '') -> tuple[str, int, dict]: +def search_queries(query: str = '') -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/search-data este endpoint permite realizar um pesquisa por moedas, categorias e mercados listados em CoinGecko ''' # dicionario parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'query': '', } # validacao de parametros @@ -1601,14 +1605,14 @@ def search_queries(query: str = '') -> tuple[str, int, dict]: # else: # print(f'erro {codigo}: {dados}') -def trending_search_list() -> tuple[str, int, dict]: +def trending_search_list() -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/trending-search este endpoint permite consultar as moedas, nfts e categorias com mais procura na CoinGecko nas ultimas 24hrs ''' # dicionario de parametros - api_parameters: dict = {} + api_parameters: dict[str, str] = {} # validacao de parametros return API(f'search/trending', api_parameters) @@ -1623,7 +1627,7 @@ def trending_search_list() -> tuple[str, int, dict]: # else: # print(f'erro {codigo}: {dados}') -def crypto_global_market_data() -> tuple[str, int, dict]: +def crypto_global_market_data() -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/crypto-global este endpoint permite consultar dados globais de criptomoedas incluindo @@ -1631,7 +1635,7 @@ def crypto_global_market_data() -> tuple[str, int, dict]: criptomoedas, etc ''' # dicionario de parametros - api_parameters: dict = {} + api_parameters: dict[str, str] = {} # validacao de parametros return API(f'global', api_parameters) @@ -1646,14 +1650,14 @@ def crypto_global_market_data() -> tuple[str, int, dict]: # else: # print(f'erro {codigo}: {dados}') -def global_defi_market_data() -> tuple[str, int, dict]: +def global_defi_market_data() -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/global-defi este endpoint permite consultar os dados do top100 global das financas descentralizadas de criptomoedas, incluindo capitalizacao de mercado DeFi e volume de negociacao ''' # dicionario de parametros - api_parameters: dict = {} + api_parameters: dict[str, str] = {} # validacao de parametros return API(f'global/decentralized_finance_defi', api_parameters) @@ -1667,13 +1671,13 @@ def global_defi_market_data() -> tuple[str, int, dict]: # else: # print(f'erro {codigo}: {dados}') -def public_companies_holdings(coin_id: str = '') -> tuple[str, int, dict]: +def public_companies_holdings(coin_id: str = '') -> tuple[str, int, dict[Any, Any]]: '''https://docs.coingecko.com/v3.0.1/reference/companies-public-treasury este endpoint permite consultar a participação/posse de BTC ou ETH de empresas ''' # dicionario de parametros - api_parameters: dict = { + api_parameters: dict[str, str] = { 'coin_id': '', } # validacao de parametros