# Import necessary libraries import requests import pandas as pd import logging import os from dotenv import load_dotenv # Load environment variables load_dotenv() url_cmc = os.getenv("URL_CMC") api_key_cmc = os.getenv("API_KEY_CMC") log_folder = os.getenv("LOG_FOLDER") # Ensure the log folder exists os.makedirs(log_folder, exist_ok=True) log_file = os.path.join(log_folder, "cmc_global_metrics.log") logging.basicConfig(filename=log_file, level=logging.INFO, format="%(asctime)s [%(levelname)s] - %(message)s") # Fetch global metrics def fetch_global_metrics(): endpoint = "v1/global-metrics/quotes/latest" headers = {'Accepts': 'application/json', 'X-CMC_PRO_API_KEY': api_key_cmc} try: response = requests.get(f"{url_cmc}/{endpoint}", headers=headers) response.raise_for_status() # Raise an exception for HTTP errors data = response.json() df = pd.json_normalize(data['data']) df.to_csv('output/global_metrics.csv', index=False) logging.info("Global metrics data fetched successfully.") except requests.exceptions.RequestException as e: logging.error(f"Error fetching global metrics data: {e}") # Run the function if __name__ == "__main__": fetch_global_metrics()