Lightweight command line app to get fast weather data right on the command line
Project description
cli-weather
Table of Contents
Introduction
cli-weather is a command line app to get instant real-time weather data by city name or postalcode from any corner on earth right on the command line.
Written in python and powered by WeatherBIT API, cli-weather also provides detailed weather data, air-quality data and forecasts for next 7 days with 24 hour intervals for weather and 3 days forecast with 12 hour intervals for air-quality.
With cli-weather app you can retrieve current weather observations from over 45,000 live weather stations using WeatherBIT API, and highly localized weather forecasts for any point on the globe using the world's most trusted weather models such as GFS 13km, ECMWF, DWD 6.5km ICON-Europe, and NOAA 3km HRRR.!
You can look up weather data any of the following means:
- By entering city_name
- By entering postal_code
Installation
cli-weather requires pip python package manager to install.
-
Local Installation
$ git clone "https://github.com/vatsa287/cli-weather" $ cd cli-weather/cli_weather $ python main.py -h
-
Tarball and Wheel Installation
Anyone one of the following is sufficient. Wheel is recommended for its faster installation.
- Tarball
- Download tarball file present in high-level format with tar.gz extension from Releases tab and extract to continue with Local Installation
- Wheel
- Download wheel file present in binary format with .whl extension from Releases tab and extract to continue with Local Installation
- Tarball
-
Docker Container
Containerized version of cli-weather is present in
DockerHub
at https://hub.docker.com/r/vatsa287/cli-weather. Steps to use cli-weather in a container-
Pull Image
- Latest containerized version tag is 1.0
$ docker pull vatsa287/cli-weather:1.0
- Latest containerized version tag is 1.0
-
List Image
- Check to confirm right tag
$ docker image ls
- Check to confirm right tag
-
Run Container
-
Run the container in interactive mode, also expose the terminal for input and --rm=true to save memory usage. Port mapping is optional.
$ docker run -it --rm=true vatsa287/cli-weather:1.0
Can continue further with usage.
-
-
Basic Usage
Note: Airquality information will not be available from version v1.0.0 since source API is now premium.
$ cli-weather command [-h] [-a] [-d] [-f] [-c COUNTRY] [-u {M,S,I}] city_nmae/postal_code
Example :
Detailed weather data
andBrief airquality data
with input mode as city_name and postal_code respectively.
-
Features at a glance
-
Positional and Optional arguments: v0.1.9 supports two modes of input and 5 options giving numerous cominations.
Command Description city Get weather by city name postalcode Get weather by postal code Option Description -a, --airquality Display current air quality -f, --forecast Forecast on weather/airquality -c, --country Country of entered area -u, --units Metric, Scientific, Imperial -d, --detailed Display detailed weather data -h, --help Show this message and exit -
Supported Units: v0.1.5 supports Metric,Scientific and Farenheit indices.
Units Extensions M Celcius, m/s, mm S Kelvin, m/s, mm I F, mph, in
-
-
Gallery of Examples
Check manual for comprehensive demo of all possible options with examples.
Data sources
API : cli-weather is powered by WeatherBIT API
Dependencies
- cli-weather requires requests >= 2.4 to run, comes bundled with the package.
Version History
Latest :
Description of all versions is present here.
How to Contribute
Bug Reports and Feature Requests
Please use the issue tracker to report any bugs or file feature requests.
Developing
PRs are welcome. To begin developing, do this:
- Clone repo and create a new branch:
$ git checkout https://github.com/alichtman/stronghold -b name_for_new_branch
.
$ git clone "https://github.com/vatsa287/cli-weather"
$ git checkout -b name_for_new_branch
- Make changes and test
- Submit Pull Request with comprehensive description of changes
License
cli-weather is made available under GNU License
- Copyright 2020 © General Public Licence v3.0.
Reaching Out
You can connect with me here!
Support The Project :sparkling_heart:
I open-source almost everything I can, and I try to reply to everyone needing help using these projects. Obviously, this takes time. You can use this service for free.
However, if you are using this project and happy with it or just want to encourage me to continue creating stuff, there are few ways you can do it :-
- Starring and sharing the project :rocket:
- You can donation via BuyMeACoffee. I'll probably buy a
coffeetea. :tea:
Thanks! :heart:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.