{"library":"meteostat","title":"Meteostat Python Library","description":"Meteostat is an open-source Python library that provides an easy and efficient way to access and analyze historical weather and climate data. It retrieves observations and statistics from Meteostat's bulk data interface, which aggregates information from various public sources, including national weather services like NOAA and DWD. The library is currently at version 2.1.4 and is actively maintained with a focus on performance improvements and a consistent API experience.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install meteostat"],"cli":null},"imports":["from meteostat import Point","from meteostat import Daily","from meteostat import Hourly","from meteostat import Stations","from meteostat import Parameter"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from datetime import date\nimport matplotlib.pyplot as plt\nimport meteostat as ms\n\n# Specify location and time range for Frankfurt, Germany\nPOINT = ms.Point(50.1155, 8.6842, 113)\nSTART = date(2018, 1, 1)\nEND = date(2018, 12, 31)\n\n# Get nearby weather stations\nstations = ms.stations.nearby(POINT, limit=4)\n\n# Get daily data & perform interpolation\nts = ms.daily(stations, START, END)\ndf = ms.interpolate(ts, POINT).fetch()\n\n# Plot line chart including average, minimum and maximum temperature\ndf.plot(y=[ms.Parameter.TEMP, ms.Parameter.TMIN, ms.Parameter.TMAX])\nplt.title('2018 Temperature Data for Frankfurt, Germany')\nplt.xlabel('Date')\nplt.ylabel('Temperature (°C)')\nplt.show()","lang":"python","description":"This quickstart code demonstrates how to fetch and plot daily temperature data for a specific geographical point (Frankfurt, Germany) using the `meteostat` library. It involves defining a `Point`, specifying a date range, finding nearby stations, fetching and interpolating daily data, and then plotting the average, minimum, and maximum temperatures.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"1.7.6","pypi_latest":"2.1.4","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":7.9,"avg_import_s":1.38,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"meteostat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.98,"mem_mb":31.9,"disk_size":"164.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"meteostat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.3,"import_time_s":0.73,"mem_mb":31.9,"disk_size":"157M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"meteostat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.85,"mem_mb":40.3,"disk_size":"184.6M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"meteostat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.6,"import_time_s":1.68,"mem_mb":40.3,"disk_size":"176M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"meteostat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.65,"mem_mb":39.4,"disk_size":"169.7M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"meteostat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.8,"import_time_s":1.86,"mem_mb":39.4,"disk_size":"162M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"meteostat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.58,"mem_mb":40.4,"disk_size":"168.7M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"meteostat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.9,"import_time_s":1.57,"mem_mb":40.4,"disk_size":"161M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"meteostat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.94,"mem_mb":32.4,"disk_size":"172.7M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"meteostat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":8.9,"import_time_s":0.94,"mem_mb":32.4,"disk_size":"167M"}]}}