Skip to main content

A working re-implementation of the weather module for Sopel

Project description

version build issues alerts coverage-status license

Introduction

sopel-weather is a weather lookup plugin for Sopel.

Since Yahoo deprecated their weather API on January 3, 2019, a reimplementation of the weather plugin was necessary

Installing

If possible, use pip to install this plugin. Below are example commands; you might need to add sudo and/or call a different pip (e.g. pip3) depending on your system and environment. Do not use setup.py install; Sopel won’t be able to load the plugin correctly.

Published release

pip install sopel-modules.weather

From source

Clone the repo, then run this in /path/to/sopel-weather

pip install .

Configuring

You can automatically configure this plugin using the sopel configure –plugins command.

However, if you want or need to configure this plugin manually, you will need to define the following in ~/.sopel/default.cfg

[weather]
geocoords_provider = GEOCOORDS_PROVIDER
geocoords_api_key = GEOCOORDS_API_KEY
weather_provider = WEATHER_PROVIDER
weather_api_key = WEATHER_API_KEY

Usage

Current Weather

.weather # Only works if setlocation has been previously run
.weather seattle, us
.weather london
Paris, Ile-de-France, FR: 6°C (42°F), Clear, Humidity: 83%, UV Index: 0, Gentle breeze 4.0m/s (↗)

24h Forecast

.forecast # Only works if setlocation has been previously run
.forecast seattle, us
.forecast london
Forecast: Paris, Ile-de-France, FR: Light rain tomorrow through next Saturday, High: 15°C (59°F), Low: 11°C (52°F), UV Index: 2

Customize User Location

.setlocation london # Sets location by city name
.setlocation 98101 # Sets location by US zip code
I now have you at Paris, Ile-de-France, FR

Requirements

Modern weather APIs require Latitude & Longitude as inputs to their APIs, so we need to leverage a GeoCoords API to convert location searches to coordinates.

API Keys

GeoCoords

LocationIQ

https://locationiq.com/

Weather

Dark Sky

https://darksky.net/

OpenWeatherMap

https://openweathermap.org/

Python Requirements

requests
sopel

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sopel_modules.weather-1.3.1.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

sopel_modules.weather-1.3.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file sopel_modules.weather-1.3.1.tar.gz.

File metadata

  • Download URL: sopel_modules.weather-1.3.1.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for sopel_modules.weather-1.3.1.tar.gz
Algorithm Hash digest
SHA256 1d776bda4e5659c86ae65b2dedc0df1b80a73470ea0a1c8955a5e16009e3d968
MD5 8d4e6065f2e5b835717699db8283e2da
BLAKE2b-256 fd215a3e60248f748f83f0e292be08947675d9bed9b0a0723029f5d1ef1a4a8e

See more details on using hashes here.

File details

Details for the file sopel_modules.weather-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: sopel_modules.weather-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for sopel_modules.weather-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2a588f4f6b70ce5e9f53b2d6afdf1ee1ca6f0239e328b598f7c8d352b85899af
MD5 2c3b6ddb60f98c65bd9dd03521ec7c9e
BLAKE2b-256 88d1c2b17c96d257886e600fc4e0442d0e8f8623920181a351a7dd45cfc3408d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page