George M. Rimakis
05/22/2024, 1:40 PMMarvin
05/22/2024, 1:41 PMrequests library:
python
import requests
def fetch_open_mateo_data(endpoint: str, params: dict = None) -> dict:
    """
    Fetch data from the OpenMateo API.
    Args:
        endpoint (str): The API endpoint to fetch data from.
        params (dict, optional): Parameters to include in the API request.
    Returns:
        dict: The response data from the API.
    """
    base_url = "<http://open-mateo.com/en/docs>"
    url = f"{base_url}/{endpoint}"
    try:
        response = requests.get(url, params=params)
        response.raise_for_status()  # Raise an HTTPError for bad responses
        return response.json()  # Assuming the API returns JSON
    except requests.exceptions.HTTPError as http_err:
        print(f"HTTP error occurred: {http_err}")
    except Exception as err:
        print(f"An error occurred: {err}")
    return None
# Example usage:
if __name__ == "__main__":
    data = fetch_open_mateo_data("weather", {"location": "Berlin", "date": "2023-10-01"})
    if data:
        print(data)
### Explanation
- Base URL and Endpoint: Combining the base URL with the endpoint to form the full URL for the API request.
- Parameters: The function accepts additional parameters for the API request, passed as a dictionary.
- Handling Responses: Basic error handling to catch HTTP errors and other exceptions. The function returns the JSON response if the request is successful, otherwise None.
### Requirements
To run this script, you need the requests library. If you do not have it installed, you can install it via pip:
sh
pip install requests
If you need more specific details or modifications, feel free to ask!Bring your towel and join one of the fastest growing data communities. Welcome to our second-generation open source orchestration platform, a completely rethought approach to dataflow automation.
Powered by