In-progress weather tool that renders an image for a home screen widget.
See the image hosted for free on fly.io:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python app.pyThen see widget docs for how to use the image in a widget.
Uvicorn is a ASGI server:
python -m uvicorn app:app --host 0.0.0.0 --port 8000 --reloadInsider docker:
docker build -t whetherweather .
docker run -p 8000:8000 whetherweather- PoC
- Create PNG image
- localhost serve image
- Some docs for showing the image in a widget
- Call a weather API, get i.e daily max/min temps
- Render the temps on the image
- MVP 1
- Deploy cron task to cloud i.e. fly.io
- Install dependencies
- Dockerize
- fly.io secrets management
- Pick weather API sources and starting weather metrics
- Hourly temp
- Precipitation
- Figure out the exact size of my android home screen for rendering
- Draw metrics visually
- Deploy cron task to cloud i.e. fly.io
- v2?
- https://fly.io/docs/app-guides/continuous-deployment-with-github-actions/
- Customizing physical location, configuring which metrics to show
- Log time scale
- Other metrics
- Barometric pressure
- AQI
- Moon brightness / phase
- Dawn/Sundise
- Wind
- UV index
- Tides
- Minimizing API calls, by writing to S3 as a cache or using a caching reverse-proxy
- Config
- Instead of URL with
idto a DB entry, put state values into the URL? - User physical location maps to a default time zone?
- GUI for setting config just generate the URL query param
- Instead of URL with
- Provide google calendar share link (ICS?): find all of your event locations for the next day and show you calendar weather based on those locations
- Think again about business brand / name
- already exists: https://github.com/codersinthestorm/WhetherWeather
- maybe pick another name or make it cute?
- Import from obsidian://open?vault=notes&file=MyNotes%2FWhetherWeather