Skip to content

vatsa287/cli-weather

Repository files navigation

BuiltWithPython

cli-weather Downloads


PyPI - Status PyPI - Wheel GitHub issues GitHub code size in bytes Docker Pulls


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
  • 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
    • List Image

      • Check to confirm right tag
        $ docker image ls
    • 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 and Brief 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 : PyPI

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:

  1. Clone repo and create a new branch:
$ git clone "https://github.com/vatsa287/cli-weather"
$ git checkout -b name_for_new_branch
  1. Make changes and test
  2. Submit Pull Request with comprehensive description of changes

License

License

cli-weather is made available under GNU License

Reaching Out


You can connect with me here!


Support The Project πŸ’–

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 πŸš€
  • You can donation via BuyMeACoffee. I'll probably buy a coffee tea. 🍡 Buy Me A Coffee

Thanks! ❀️