open-meteo
Asynchronous client for the Open-Meteo API.
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive MIT license. It solves a real problem—async weather data retrieval without authentication—and is well-suited for any Python application that needs weather forecasts. The only caveat is the requirement for Python 3.11+, which rules out older projects.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later.
- Low install friction with a pure Python wheel and three lightweight runtime dependencies (aiohttp, mashumaro, orjson).
- Active maintenance with a recent commit as of 2026-04-16 and regular releases.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely provided you include the original license notice.
last release 2025-09-17 (331 days) · last repo commit 2026-04-16 · 29 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 77,294 downloads/mo, #14,540 on PyPI
Alternatives
Verify before relying
pip install open-meteo
import asyncio
from open_meteo import OpenMeteo
from open_meteo.models import DailyParameters, HourlyParameters
async def main():
async with OpenMeteo() as client:
forecast = await client.forecast(
latitude=52.27,
longitude=6.87417,
current_weather=True,
daily=[DailyParameters.SUNRISE, DailyParameters.SUNSET],
hourly=[HourlyParameters.TEMPERATURE_2M]
)
print(forecast)
asyncio.run(main())- Whether the Open-Meteo API itself has rate limits or geographic coverage restrictions that affect practical use.
- Performance characteristics and latency for typical forecast queries across different regions.
What it is and what it does
open-meteo is an async-first Python wrapper around the Open-Meteo weather API, a free service that requires no authentication. It lets you fetch current weather, hourly forecasts, and daily summaries (sunrise, sunset, temperature, humidity, and many other parameters) by latitude and longitude. The client uses aiohttp for non-blocking HTTP requests, mashumaro for fast data deserialization, and orjson for efficient JSON parsing.
You instantiate an OpenMeteo client, call its forecast() method with coordinates and the parameters you want, and receive structured forecast objects. The async design makes it suitable for applications that need to fetch weather data without blocking other work—typical use cases include weather dashboards, home automation systems, and weather-aware scheduling. The package supports Python 3.11 through 3.14.
Use it for
- Fetch current weather and hourly forecasts for a home automation or smart home system.
- Build a weather dashboard or web app that displays multi-day forecasts without blocking on API calls.
- Integrate weather data into a scheduling or planning application that needs real-time conditions.
- Monitor historical or current weather patterns across multiple locations asynchronously.
- Prototype weather-dependent logic (e.g., irrigation, heating) without API key management overhead.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive MIT license. It solves a real problem—async weather data retrieval without authentication—and is well-suited for any Python application that needs weather forecasts. The only caveat is the requirement for Python 3.11+, which rules out older projects.
Install
open-meteo on PyPI
Before you install
Low install friction with a pure Python wheel and three lightweight runtime dependencies (aiohttp, mashumaro, orjson). Active maintenance with a recent commit as of 2026-04-16 and regular releases.
Requires Python 3.11 or later.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely provided you include the original license notice.
Quickstart
pip install open-meteo
import asyncio
from open_meteo import OpenMeteo
from open_meteo.models import DailyParameters, HourlyParameters
async def main():
async with OpenMeteo() as client:
forecast = await client.forecast(
latitude=52.27,
longitude=6.87417,
current_weather=True,
daily=[DailyParameters.SUNRISE, DailyParameters.SUNSET],
hourly=[HourlyParameters.TEMPERATURE_2M]
)
print(forecast)
asyncio.run(main())
Verify before relying
- Whether the Open-Meteo API itself has rate limits or geographic coverage restrictions that affect practical use.
- Performance characteristics and latency for typical forecast queries across different regions.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release <4.0,>=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesaiohttpmashumaroorjson |
| Maintenance | Actively maintained 331 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 77,294 / month, #14,540 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 1 - PlanningIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: Libraries :: Python Modules |
Evidence: open_meteo-0.4.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “async weather api client”
- open-meteoProvides an asynchronous Python client for querying the Open-Meteo…
- imgw-pibAn async Python wrapper for the IMGW-PIB API that fetches weather and…
- accuweatherAsync Python wrapper for fetching current conditions, daily…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also openmeteo-requests · radios · meteomatics · accuweather · openmeteo-sdk · AEMET-OpenData · forecast-solar · pyowm · spotifyaio · pynws