summaryrefslogtreecommitdiff
path: root/windy.py
diff options
context:
space:
mode:
Diffstat (limited to 'windy.py')
-rw-r--r--windy.py68
1 files changed, 0 insertions, 68 deletions
diff --git a/windy.py b/windy.py
deleted file mode 100644
index 2d5cab6..0000000
--- a/windy.py
+++ /dev/null
@@ -1,68 +0,0 @@
-from dataclasses import dataclass
-from enum import Enum
-
-import requests
-
-
-class _StrEnum(Enum):
- def __str__(self):
- return self.value
-
-
-class Model(_StrEnum):
- AROME = "arome"
- GEOS5 = "geos5"
- GFS = "gfs"
- GFSWAVE = "gfsWave"
- ICONEU = "iconEu"
- NAMALASKA = "namAlaska"
- NAMCONUS = "namConus"
- NAMHAWAII = "namHawaii"
-
-
-class Level(_StrEnum):
- SURFACE = "surface"
- H1000 = "1000h"
- H950 = "950h"
- H925 = "925h"
- H900 = "900h"
- H850 = "850h"
- H800 = "800h"
- H700 = "700h"
- H600 = "600h"
- H500 = "500h"
- H400 = "400h"
- H300 = "300h"
- H200 = "200h"
- H150 = "150h"
-
-
-@dataclass
-class Config:
- key: str
- api: str = "https://api.windy.com/api"
-
-
-@dataclass
-class Request:
- lat: float
- lon: float
- model: Model
- parameters: list = None
- levels: list = None
- endpoint: str = "/point-forecast/v2"
-
- def json(self):
- body = {
- 'lat': self.lat,
- 'lon': self.lon,
- 'model': str(self.model),
- 'parameters': self.parameters or [],
- }
- if self.levels:
- body['levels'] = [str(x) for x in self.levels]
- return body
-
-
-def point_forecast(request: Request, config: Config):
- return requests.post(config.api + request.endpoint, json=request.json())