skillfed

open-meteo

Asynchronous client for the Open-Meteo API.

open-meteo v0.4.0 77.3K downloads/30d#14,540 on PyPI29
Permissive license MIT Active released

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

Provides an asynchronous Python client for querying the Open-Meteo weather API, which offers free weather forecasts without requiring an API key.

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

pip

pip install open-meteo

uv

uv add open-meteo

poetry

poetry add open-meteo

Installing open-meteo

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.

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())

Requires Python 3.11 or later.

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 — aiohttp, mashumaro, orjson
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)

Evidence: open_meteo-0.4.0-py3-none-any.whl

Keywords: weather, weather-api, meteo, openmeteo, open-meteo, api, async, client

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

Tags

async weather api clientopen-meteo pythonfree weather forecast apiweather data asyncopenmeteo client libraryreal-time weather pythonweather api no key
weather-apiasync-httpfree-api

More Python Modules packages