DEV Community

Cover image for Forecast Weather using Python
Ayushi Rawat
Ayushi Rawat

Posted on

Forecast Weather using Python

Hello reader!
Weather is the mix of events that happen each day in our atmosphere and is different in different parts of the world and changes over minutes, hours, days, and weeks. Rain and dull clouds, windy blue skies, cold snow, and sticky heat are very different conditions, yet they are all-weather. According to the Wikipedia definition:

Weather is the state of the atmosphere.

In this blog post, we will learn how to forecast weather details. We will see the implementation in Python with hardly a few lines of code.

Check out the Repository for Ultimate Resource in python. Drop a star if you find it useful! Got anything to add? Open a PR on the same!

You can refer to my YouTube video Tutorial to see a working tutorial for better understanding and a step-by-step guide of the same.

What will be covered in this Blog

1.  What is wttr?
2.  What is requests Module
3.  How to forecast the weather using Python
Enter fullscreen mode Exit fullscreen mode

Let's get started!

What is wttr?

wttr — the right way to check the weather!

wttr.in is a console-oriented weather forecast service that supports various information representation methods like terminal-oriented ANSI-sequences for console HTTP clients (curl, httpie, or wget), HTML for web browsers, or PNG for graphical viewers.

wttr.in uses wego for visualization and various data sources for weather forecast information.

If you wish to know more about it, you can refer to wttr's GitHub Repo.

Module Used:

requests Module:

Requests is a simple, yet elegant HTTP library. It allows you to send HTTP/1.1 requests extremely easily. Requests officially support Python 2.7 & 3.5+.

If you wish to know more about it, you can refer to Requests Module Documentation.

Now that you are familiar with Requests Module basics and have acquired basic knowledge of wttr, we can move forward to the coding section.

Time to Code!

You can find all the code at my GitHub Repository. Drop a star if you find it useful.
carbon (1).png
In order to access the Python library, you need to install it into your Python environment

pip install requests
Enter fullscreen mode Exit fullscreen mode

Now, we need to import the package into our python script. Use the following command to do so.

import requests
Enter fullscreen mode Exit fullscreen mode

Now that we have imported the library using the command import requests, let's proceed.

Let's ask the user to input the city name for which he/she wishes to fetch the weather details.

city = input('input the city name')
print(city)
Enter fullscreen mode Exit fullscreen mode

You can also hard-code the value if you will only check for yourself.

city = 'bhopal'
Enter fullscreen mode Exit fullscreen mode

Now, let's display a simple message.

print('Displaying Weather report for: ' + city)

#output:
Displaying Weather report for: bhopal
Enter fullscreen mode Exit fullscreen mode

Let's define the URL, We will make use of format to pass city as a parameter here.

url = 'https://wttr.in/{}'.format(city)
Enter fullscreen mode Exit fullscreen mode

It's time to make use of the requests module.

res = requests.get(url)
Enter fullscreen mode Exit fullscreen mode

Our resultant data is stored in res. We will make use of the text method to extract our desired weather details and let's display the result.

print(res.text)
Enter fullscreen mode Exit fullscreen mode

This is how the Weather Forecast will look like:

output.png

Isn't it beautiful? And with that, it's a wrap! I hope you found the article useful! Share in the comments below.
I create content about Career, Blogging, Programming, and Productivity, If this is something that interests you, please share the article with your friends and connections. You can also subscribe to my newsletter to get updates every time I write something!

Thank you for reading, If you have reached so far, please like the article, It will encourage me to write more such articles. Do share your valuable suggestions, I appreciate your honest feedback!

I would strongly recommend you to Check out the YouTube video of the same and don't forget to subscribe to my Channel. I would love to connect with you at Twitter | LinkedIn.

You should definitely check out my other Blogs:

Resources:

See you in my next Blog article, Take care!!

Top comments (2)

Collapse
 
waylonwalker profile image
Waylon Walker

wtr.in is such a great resource. You should try to collect arguments from the command line instead of using input if you want to make it automatable. You can try argparse or click. For simple things I like using sys.argv

import sys

try:
    city = sys.argv[1]
except IndexError:
    city = input('input the city name')
print(city)
Enter fullscreen mode Exit fullscreen mode

Now you can do things such as putting it in your ~/.bashrc to have the weather every time you open your shell!

Collapse
 
vimrichie profile image
Vimrichie

This was done so well. Great read!