import configparser import os import sys # ------------------------------------------------------------------ # 1. Gestion des imports depuis le dossier ./API # ------------------------------------------------------------------ sys.path.append(os.path.join(os.path.dirname(__file__), 'API')) try: from API.Krakenfutures_api import KrakenFutureClient except ImportError: # Alternative si le dossier API n'est pas vu comme un module from Krakenfutures_api import KrakenFutureClient # ------------------------------------------------------------------ # 2. Lecture de la configuration # ------------------------------------------------------------------ config = configparser.ConfigParser() config_path = os.path.join(os.path.dirname(__file__), 'conf', 'config.ini') # Vérification que le fichier existe if not os.path.exists(config_path): raise FileNotFoundError(f"Le fichier de configuration est introuvable ici : {config_path}") config.read(config_path) # Récupération des clés try: api_key = config['KRAKEN']['api_key'] api_secret = config['KRAKEN']['api_secret'] except KeyError as e: raise ValueError(f"Erreur de lecture du config.ini. La clé ou la section est manquante : {e}") # ------------------------------------------------------------------ # 3. Initialisation du Client et Test # ------------------------------------------------------------------ if __name__ == "__main__": print("Initialisation du client Kraken Futures...") # Création de l'instance du client kraken_client = KrakenFutureClient( api_key=api_key, api_secret=api_secret ) try: print("Tentative de connexion à l'API...") response = kraken_client.get_tickers() # Vérification si la clé 'tickers' existe if 'tickers' in response: tickers_list = response['tickers'] print("Connexion réussie !") if len(tickers_list) > 0: # On prend le premier élément de la liste first_ticker = tickers_list[0] # On affiche le contenu de ce premier ticker print("\n--- Exemple de premier ticker reçu ---") print(first_ticker) # Si vous voulez afficher spécifiquement le nom du symbole (souvent 'symbol' ou 'pair') # Vous pouvez faire : print(f"Symbole : {first_ticker.get('symbol', 'Inconnu')}") else: print("La liste des tickers est vide.") else: print("Réponse reçue, mais format inattendu (pas de clé 'tickers') :", response) except Exception as e: print(f"Une erreur est survenue lors de l'appel API : {e}") # Pour tester un appel PRIVÉ (nécessite que les clés soient valides) # accounts = kraken_client.get_accounts() # print(accounts)