openmeteo-requests
Open-Meteo Python Library
What it is and what it does
openmeteo-requests is a Python client for the Open-Meteo Weather API that uses FlatBuffers instead of JSON for data serialization. This design choice makes it efficient for handling large volumes of time-series weather data. The library supports both synchronous and asynchronous requests and integrates directly with NumPy, Pandas, and Polars through zero-copy data access, allowing you to analyze weather data without intermediate parsing overhead.
The package is aimed at data scientists and developers who need to retrieve and process weather forecasts or historical data (available from 1940 onward). It depends on niquests for HTTP requests and openmeteo-sdk for FlatBuffers schema handling. The library is actively maintained, supports Python 3.9 through 3.14, and has no known security vulnerabilities.
Use it for:
- Retrieve hourly weather forecasts (temperature, precipitation, wind) for one or multiple locations in a single API call
- Build time-series weather datasets for machine learning or statistical analysis using direct NumPy array access
- Fetch historical weather data from 1940 onward for climate research or backtesting applications
- Create Pandas or Polars DataFrames from weather data without intermediate JSON parsing
- Implement async weather data pipelines for applications that need concurrent requests to multiple locations
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Fetches weather data from the Open-Meteo API using FlatBuffers for efficient transfer, with support for both synchronous and asynchronous requests and zero-copy integration with NumPy, Pandas, and Polars.
Yes. The package is actively maintained, has low install friction, permissive licensing, no known vulnerabilities, and fills a specific niche for efficient weather data retrieval. It is particularly valuable if you work with large time-series datasets or need async support, though it requires familiarity with FlatBuffers' function-call-based attribute access rather than direct object properties.
Install
openmeteo-requests on PyPI
pip
pip install openmeteo-requestsuv
uv add openmeteo-requestspoetry
poetry add openmeteo-requestsInstalling openmeteo-requests
Before you install
Low install friction with only two runtime dependencies (niquests and openmeteo-sdk). Package is actively maintained with recent commits and supports modern Python versions (3.9 through 3.14).
License in practice
Licensed under MIT (permissive), allowing free use, modification, and distribution with minimal restrictions.
Quickstart
pip install openmeteo-requests
import openmeteo_requests
openmeteo = openmeteo_requests.Client()
responses = openmeteo.weather_api(
"https://api.open-meteo.com/v1/forecast",
params={"latitude": 52.52, "longitude": 13.41, "current": ["temperature_2m"]}
)
response = responses[0]
print(response.Latitude())
Verify before relying
- Whether FlatBuffers zero-copy integration with NumPy/Pandas/Polars requires additional setup or dependencies beyond what is listed
- Performance characteristics and memory efficiency gains compared to JSON-based weather APIs
- API rate limits and whether caching with requests-cache is the recommended approach for production use
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — niquests, openmeteo-sdk |
| Maintenance | actively maintained — 207 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 351,784/month — #7,318 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: openmeteo_requests-1.7.5-py3-none-any.whl
Keywords: client, meteo, open, python, weather
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
lacrosse-viewRetrieves sensor data from La Crosse…
permissive · top 15,000 on PyPI
open-meteoProvides an asynchronous Python client for…
permissive · top 15,000 on PyPI
openmeteo-sdkProvides compiled FlatBuffers schema files for…
permissive · top 15,000 on PyPI
meteostatMeteostat provides access to historical weather…
unclear · top 15,000 on PyPI
accuweatherAsync Python wrapper for fetching current…
permissive · top 15,000 on PyPI
simple-dwd-weatherforecastRetrieves hourly weather forecasts for the next…
permissive · top 15,000 on PyPI
dwdwfsapiRetrieves weather warnings, bio-weather…
permissive · top 15,000 on PyPI
buienradarFetches current weather data and precipitation…
permissive · top 15,000 on PyPI
trendspyFetch and analyze Google Trends data including…
permissive · top 15,000 on PyPI
pytrendsProvides an unofficial interface to download…
permissive · top 5,000 on PyPI