Metadata-Version: 2.4
Name: open-meteo-client
Version: 0.0.6
Summary: Lightweight async Python client for the Open-Meteo weather API
Project-URL: Homepage, https://github.com/jakobheine/open-meteo-client
Project-URL: Documentation, https://open-meteo-client.readthedocs.io/
Project-URL: Repository, https://github.com/jakobheine/open-meteo-client
Project-URL: Issues, https://github.com/jakobheine/open-meteo-client/issues
Project-URL: Author website, https://jakobheine.de/
Author-email: Jakob Heine <me@jakobheine.de>
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: api,async,client,forecast,meteo,open-meteo,weather
Classifier: Development Status :: 1 - Planning
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: httpx>=0.27
Provides-Extra: dev
Requires-Dist: mypy>=1.11; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=5; extra == 'dev'
Requires-Dist: pytest-httpx>=0.30; extra == 'dev'
Requires-Dist: pytest-rerunfailures>=14; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: pyyaml>=6; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Requires-Dist: types-pyyaml>=6; extra == 'dev'
Provides-Extra: docs
Requires-Dist: myst-parser>=3; extra == 'docs'
Requires-Dist: sphinx-autobuild>=2024; extra == 'docs'
Requires-Dist: sphinx-autodoc-typehints>=2; extra == 'docs'
Requires-Dist: sphinx-rtd-theme>=2; extra == 'docs'
Requires-Dist: sphinx>=7; extra == 'docs'
Description-Content-Type: text/markdown

# open-meteo-client

[![CI](https://github.com/jakobheine/open-meteo-client/actions/workflows/ci.yml/badge.svg)](https://github.com/jakobheine/open-meteo-client/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/jakobheine/open-meteo-client/graph/badge.svg)](https://codecov.io/gh/jakobheine/open-meteo-client)
[![PyPI version](https://img.shields.io/pypi/v/open-meteo-client.svg)](https://pypi.org/project/open-meteo-client/)
[![Python versions](https://img.shields.io/pypi/pyversions/open-meteo-client.svg)](https://pypi.org/project/open-meteo-client/)
[![Documentation](https://img.shields.io/readthedocs/open-meteo-client?label=docs)](https://open-meteo-client.readthedocs.io/)
[![Downloads](https://static.pepy.tech/badge/open-meteo-client/month)](https://pepy.tech/project/open-meteo-client)
[![License: Apache 2.0](https://img.shields.io/pypi/l/open-meteo-client.svg)](https://github.com/jakobheine/open-meteo-client/blob/main/LICENSE)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors)
<!-- ALL-CONTRIBUTORS-BADGE:END -->

**[📖 Documentation](https://open-meteo-client.readthedocs.io/)** ·
**[📦 PyPI](https://pypi.org/project/open-meteo-client/)** ·
**[💬 Discussions](https://github.com/jakobheine/open-meteo-client/discussions)** ·
**[🗺️ Roadmap](https://github.com/users/jakobheine/projects/1)**

---

A lightweight, async Python client for the [Open-Meteo](https://open-meteo.com) weather API — with high-level helpers that fit on a sticky note.

```python
from openmeteo import weather

await weather.today("Dresden")
```

**Status:** 🚧 Planning — no code yet, just reserving the name and building the foundation. Track progress toward v0.1.0 in the [CHANGELOG](CHANGELOG.md).

## Planned features

- **Lightweight** — two dependencies (`httpx`, `pydantic`), no FlatBuffers, no pandas
- **Async-first** — built on `httpx.AsyncClient`
- **Typed** — full pydantic v2 models, `StrEnum` for weather variables, IDE autocomplete
- **Two layers** — high-level convenience API (`weather.today()`) on top of a full low-level `Client`

## Install

```bash
pip install open-meteo-client
```

> ⚠️ Package reserved — no functionality yet. Check back for v0.1.0.

## Documentation

Full docs live at **[open-meteo-client.readthedocs.io](https://open-meteo-client.readthedocs.io/)**:

- [Tutorial](https://open-meteo-client.readthedocs.io/en/latest/tutorial/getting-started.html) — learn by example
- [How-to guides](https://open-meteo-client.readthedocs.io/en/latest/how-to/) — solve specific problems
- [Reference](https://open-meteo-client.readthedocs.io/en/latest/reference/) — the full public API
- [Explanation](https://open-meteo-client.readthedocs.io/en/latest/explanation/) — the design "why"

## Roadmap

Public roadmap and backlog live on the [**Roadmap project board**](https://github.com/users/jakobheine/projects/1).
Pick anything from the Backlog column that's not claimed — see [CONTRIBUTING.md](CONTRIBUTING.md).

## Changelog

See [CHANGELOG.md](CHANGELOG.md) for release notes.

## Contributing

Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for setup instructions and guidelines.

## Contributors

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tbody>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://jakobheine.de/"><img src="https://avatars.githubusercontent.com/jakobheine?v=4?s=100" width="100px;" alt="Jakob Heine"/><br /><sub><b>Jakob Heine</b></sub></a><br /><a href="https://github.com/jakobheine/open-meteo-client/commits?author=jakobheine" title="Code">💻</a> <a href="https://github.com/jakobheine/open-meteo-client/commits?author=jakobheine" title="Documentation">📖</a> <a href="#design-jakobheine" title="Design">🎨</a> <a href="#infra-jakobheine" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-jakobheine" title="Maintenance">🚧</a> <a href="https://github.com/jakobheine/open-meteo-client/commits?author=jakobheine" title="Tests">⚠️</a></td>
    </tr>
  </tbody>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

## License

Apache-2.0. See [LICENSE](LICENSE).
