OpenWeather gRPC API

Unified Modeling Language diagram

Long time, no see! This is the first of three new projects from this summer (2022) that I’d like to introduce to you.

Written in Go, this microservice uses protocol buffers to define a highly performant gRPC API.

Compared to other APIs like RESTful APIs, gRPC offers several key benefits, including:

  • Efficient connection management with HTTP/2
  • Simpler server implementation
  • Easily generate client-side code for a variety of programming languages
  • Messages serialized to binary for more efficient payloads

The API accepts remote procedure calls to fetch weather and gelocation data from OpenWeatherMap.org. The service acts as an intermediary between gRPC clients and the OpenWeather API.

The following features are currently available:

  • Current forecasts by city, zip code, or exact location
  • Five day forecasts by city, zip code, or exact location
  • Geolocation data (latitude and longitude) for a particular city or zip code
  • Choose your preferred units among imperial, metric, or the OpenWeather default (Kelvin/meters per second)

source code

Updated Jun 6 2024