import os import requests from dotenv import load_dotenv class OpenWeatherClient: def __init__(self): load_dotenv() self.api_key = os.getenv("OPEN_WEATHER_TOKEN") self.base_url = "http://api.openweathermap.org/data/2.5/weather" def get_weather(self, location: str): params = { "q": location, "appid": self.api_key, "units": "metric" } try: response = requests.get(self.base_url, params=params) response.raise_for_status() weather_data = response.json() condition = weather_data["weather"][0]["description"] temp_c = weather_data["main"]["temp"] return { "location": location, "condition": condition.capitalize(), "temperature": f"{temp_c}°C" } except requests.exceptions.RequestException as e: return {"error": f"Failed to fetch weather data: {e}"}