How to create a weather application using python
Weather application using python

I am a Engineer
Search for a command to run...
Weather application using python

I am a Engineer
No comments yet. Be the first to comment.
Scalable Wireless Distributed Consensus for Autonomous Vehicles at Unsignalized Intersections

The Ultimate VLSI Roadmap is designed to help students and professionals gain clarity in choosing a role for their future careers.

A convolutional neural network (CNN) is a type of artificial neural network used primarily for image recognition and processing, due to its ability to

Natural language processing (NLP) is a branch of artificial intelligence that helps computers understand, interpret, and manipulate human language.

Introduction to Python

Weather applications are used to find weather conditions in a certain region. In this blog, we are gonna see how to create a weather application using python
To create a weather application using python
First, it gets city information from the user then it will send API request to open the weather map.
First, we have to visit => https://openweathermap.org/api . Then we have register a account . Then we have to go to =>https://openweathermap.org/price . Then get a free API key.
from tkinter import *
from PIL import ImageTk,Image
import requests
import json
import urllib.request
Tkinter is used for Graphical user interface PIL is used for images Requests is used for downloading information JSON is used to extract json data Urllib is used for api request
def weather():
global la
global img1
global mylabe0
global glcolor
mylabe0.grid_forget()
api_request=requests.get("http://api.openweathermap.org/data/2.5/weather?q="+e.get()+"&appid=<<INSERT API KEY HERE>>")
api=json.loads(api_request.content)
icondata=api['weather'][0]['icon']
path="C:/Users/New/Desktop/python projects/weather app/w1.png"
urllib.request.urlretrieve("http://openweathermap.org/img/w/"+icondata+".png",path)
img=Image.open("w1.png")
resized=img.resize((120,120),Image.ANTIALIAS)
img1=ImageTk.PhotoImage(resized)
la=Label(image=img1,bg=glcolor)
la.grid(row=3,column=0)
temp=str(int(api['main']['temp']-273))+"°C"
temp_feel="Feels like:"+str(int(api['main']['feels_like']-273))+"° C"
temp_min="Temprature min:"+str(int(api['main']['temp_min']-273))+"° C"
temp_max="Temprature max:"+str(int(api['main']['temp_max']-273))+"° C"
humid="Humidity:"+str(int(api['main']['humidity']))
desc=api['weather'][0]['description']
mylabe0=Label(root,text=desc,bg=glcolor,fg="white",font=('arial',20))
mylabe0.grid(row=5,column=0)
mylabel=Label(root,text=temp,bg=glcolor,fg="white",font=('arial',40,'bold'))
mylabel.grid(row=4,column=0)
mylabel1=Label(root,text=temp_feel,bg=glcolor,fg="white",font=('arial',10))
mylabel1.grid(row=6,column=0)
mylabel2=Label(root,text=temp_min,bg=glcolor,fg="white",font=('arial',10))
mylabel2.grid(row=7,column=0)
mylabel3=Label(root,text=temp_max,bg=glcolor,fg="white",font=('arial',10))
mylabel3.grid(row=8,column=0)
mylabel4=Label(root,text=humid,bg=glcolor,fg="white",font=('arial',10))
mylabel4.grid(row=9,column=0)
This function will give an API request to openweather map then after receiving back the API request information then it extracts the necessary details from it and download the weather icon for the application. Then display it in the application
glcolor="green"
root=Tk()
root.configure(bg="green")
root.title("weather app")
root.iconbitmap('weather_128.ico')
img=Image.open("w1.png")
resized=img.resize((120,120),Image.ANTIALIAS)
img1=ImageTk.PhotoImage(resized)
la=Label(image=img1,bg=glcolor)
la.grid(row=3,column=0)
mylabe=Label(root,text="Enter your city name",bg=glcolor,fg="white")
mylabe.grid(row=0,column=0)
mylabe0=Label(root,text="",bg=glcolor,fg="white",font=('arial',20,'italic'))
mylabe0.grid(row=5,column=0)
e=Entry(root,width=40,bg=glcolor,fg="white")
e.grid(row=1,column=0,padx=10,pady=10)
but=Button(root,text="Enter",command=weather,bg=glcolor,fg="white")
but.grid(row=2,column=0)
root.mainloop()
First, we are having dummy image before any request as "w1.png" after any API request it will get overridden by the downloaded weather image. Labels are used to display information in the application and Entry, I used for getting information from the user.
Here is full code link:- github
https://openweathermap.org/api