Metadata-Version: 2.4 Name: aemetdata Version: 0.1.2 Summary: Paquete Python para descargar datos de AEMET OpenData Author-email: Carlos Pacheco Perelló License: MIT Project-URL: Homepage, https://github.com/cpacheco-perello Project-URL: Repository, https://github.com/cpacheco-perello/ametdata-py Project-URL: Issues, https://github.com/cpacheco-perello/ametdata-py/issueses Keywords: aemet,opendata,meteorologia Classifier: Development Status :: 3 - Alpha Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Topic :: Software Development :: Libraries Classifier: Topic :: Utilities Requires-Python: >=3.9 Description-Content-Type: text/markdown License-File: LICENSE Requires-Dist: httpx>=0.24 Requires-Dist: requests>=2.31 Requires-Dist: python-dateutil>=2.8 Provides-Extra: test Requires-Dist: pytest>=7.0; extra == "test" Requires-Dist: pytest-asyncio>=0.21; extra == "test" Requires-Dist: pytest-cov>=4.0; extra == "test" Dynamic: license-file ![PyPI](https://img.shields.io/pypi/v/aemetdata) ![PyPI - Downloads](https://img.shields.io/pypi/dm/aemetdata) # aemetdata **aemetdata** es un paquete Python para descargar y procesar datos meteorológicos de AEMET OpenData de forma sencilla y eficiente. La información que recoge y utiliza esta librería es propiedad de la Agencia Estatal de Meteorología. ## Instalación ```bash pip install aemetdata ``` ## Obtención de API Key Necesitas una API Key de AEMET OpenData. Puedes obtenerla en: [Obtener clave api AEMET](https://opendata.aemet.es/centrodedescargas/altaUsuario?) Puedes pasarla como argumento o definir la variable de entorno: ```bash export AEMET_API_KEY="tu_api_key" ``` En Windows (PowerShell): ```powershell setx AEMET_API_KEY "tu_api_key" ``` ## Cliente y funciones principales - **AemetClient**: Clase principal para interactuar con la API de AEMET OpenData. Permite descargar datos de cualquier endpoint autorizado. ```python from aemetdata import AemetClient client = AemetClient(api_key=API_KEY) endpoint = "valores/climatologicos/diarios/datos/fechaini/2024-01-01T00:00:00UTC/fechafin/2024-01-02T00:00:00UTC/todasestaciones" data = client.download_data(endpoint) print(data[:500]) ``` - **aemetdata.avisos**: Funciones para descargar avisos meteorológicos oficiales: - `avisos_area_ultimo_eleaborado(codigo_area, api_key)`: Descarga el último aviso elaborado para un área específica. ```python from aemetdata.avisos import avisos_area_ultimo_eleaborado ruta = await avisos_area_ultimo_eleaborado("72", [API_KEY]) print(f"Archivo guardado: {ruta}") ``` - `avisos_por_fechas(fecha_ini, fecha_fin, api_key)`: Descarga todos los avisos entre dos fechas. ```python from aemetdata.avisos import avisos_por_fechas rutas = await avisos_por_fechas('2026-01-01', '2026-01-04', [API_KEY]) print('Archivos guardados:') for ruta in rutas: print(ruta) ``` - **aemetdata.climatologia**: Funciones para obtener datos climatológicos: - `datos_mensuales(estaciones, año_ini, año_fin, api_key)`: Descarga datos mensuales de climatología para una o varias estaciones. ```python from aemetdata.climatologia import datos_mensuales resultado = await datos_mensuales(["3195","3427Y"], 2020, 2024, [API_KEY]) import pandas as pd pd.DataFrame(resultado) ``` - `datos_diarios(estaciones, fecha_ini, fecha_fin, api_key)`: Descarga datos diarios de climatología. ```python from aemetdata.climatologia import datos_diarios resultado = await datos_diarios(["3195","3427Y"], '2022-01-01', '2022-08-10', [API_KEY]) import pandas as pd pd.DataFrame(resultado) ``` - `datos_normales(estaciones, api_key)`: Obtiene valores climatológicos normales (periodo 1991-2020). ```python from aemetdata.climatologia import datos_normales resultado_normales = await datos_normales(["3195","3427Y"], [API_KEY]) import pandas as pd pd.DataFrame(resultado_normales) ``` - `datos_extremos(estaciones, api_key, parametro)`: Descarga valores extremos (precipitación, temperatura, viento). ```python from aemetdata.climatologia import datos_extremos resultado_extremos_T = await datos_extremos(["3195","3427Y"], [API_KEY], parametro="T") import pandas as pd pd.DataFrame(resultado_extremos_T) ``` - **aemetdata.imagenes**: Funciones para descargar imágenes meteorológicas (satélite, radar, etc.). - **aemetdata.observaciones**: Funciones para obtener observaciones meteorológicas en tiempo real.