Files
weatherapi/README.md
Eric Rakestraw cb316c228a
All checks were successful
ci/woodpecker/push/build-image Pipeline was successful
Added a /conditions/current endpoint with computed best-guess values for current conditions
2026-03-17 15:51:00 -05:00

988 B

weatherapi

weatherapi is a small HTTP API that serves weather data backed by the PostgreSQL schema populated by weatherfeeder.

Config

weatherapi reads a YAML config file that is either:

  • a top-level list of database entries, or
  • an object with databases:.

Example:

- name: weatherdb
  driver: postgres
  params:
    uri: postgres://weatherdb:5432/weatherdb?sslmode=disable
    username: weatherdb
    password: weatherdb

Endpoints

  • GET /conditions/current
  • GET /observations?count=<1..100>&units=<us|metric>
  • GET /forecast?timestamp=<RFC3339 timestamp>
  • GET /alerts/current

Default unit behavior:

  • /conditions/current: US units
  • /observations: metric units
  • /forecast: US units

/conditions/current, /observations, and /forecast support ?units=us|metric. /observations defaults to count=5 and validates count strictly in range 1..100.

Run

go run ./cmd/weatherapi -config ./config.yml -addr :8080