Kalebu Jordan

Become a Pro Python Developer

Hi guys, Today I’m going to share with you some tips on how to create an app to track the phone number origin country with 100% accuracy using python in just a few lines of code.

It’s a very basic app, therefore you just need to have the basics of Python to be able to complete this tutorial.

No prior knowledge assumed but if you’re familiar with Tkinter it can be an advantage.

Requirements

Install the following python libraries for you to able to completely follow through this Tutorial.

Installation

pip  install python-tk, phone-iso3166 , pycountry

We are going to use phone-iso3166 to determine the get alpha_2 letters of the country from the number and pycountry to determine the official name of the country using alpha_2 letters we obtained from phone-iso3166.

Example of usage

>>> import pycountry
>>> from phone_iso3166.country import phone_country
>>> code = phone_country("255757295721")
>>> code
'TZ'
>>> pycountry.countries.get(alpha_2 = code)
Country(alpha_2='TZ', alpha_3='TZA', common_name='Tanzania', name='Tanzania, United Republic of', numeric='834', official_name='United Republic of Tanzania')
>>> 

Well now we know how to get country information from a phone number, We need to put our logic code in a form of an App so as we can easily use it.

Below is a code of the skeleton for our GUI app with function using the logic we learned above;

app.py

import json 
import pycountry
from tkinter import Tk, Label, Button, Entry
from phone_iso3166.country import phone_country


class Location_Tracker:
    def __init__(self, App):
        self.window = App
        self.window.title("Phone number Tracker")
        self.window.geometry("500x400")
        self.window.configure(bg="#3f5efb")
        self.window.resizable(False, False)

        #___________Application menu_____________
        Label(App, text="Enter a phone number",fg="white", font=("Times", 20), bg="#3f5efb").place(x=150,y= 30)
        self.phone_number = Entry(App, width=16, font=("Arial", 15), relief="flat")
        self.track_button = Button(App, text="Track Country", bg="#22c1c3", relief="sunken")
        self.country_label = Label(App,fg="white", font=("Times", 20), bg="#3f5efb")

        #___________Place widgets on the window______
        self.phone_number.place(x=170, y=120)
        self.track_button.place(x=200, y=200)
        self.country_label.place(x=100, y=280)

        #__________Linking button with countries ________
        self.track_button.bind("<Button-1>", self.Track_location)
        #255757294146
    
    def Track_location(self,event):
        phone_number = self.phone_number.get()
        country = "Country is Unknown"
        if phone_number:
            tracked = pycountry.countries.get(alpha_2=phone_country(phone_number))
            print(tracked)
            if tracked:
                country = tracked.official_name
        self.country_label.configure(text=country)



PhoneTracker = Tk()
MyApp = Location_Tracker(PhoneTracker)
PhoneTracker.mainloop()

Output :

Once you run the output should open a window of the app we just created, Now you can experiment with different numbers from different locations to determine their country

Congratulations, you just made your own phone location tracker, If you find this post useful.

I recommend you to also below python tutorial based on your interest

Knowledge is good when shared, now share it with your fellow friends to other developers communities, press Tweet now to share it on twitter

To get the whole code for this article you can check out on my GITHUB PROFILE

In case of comment, suggestion, or any difficulty drop it in the comment box below and I will get back to you as fast as I can.

Don’t forget to subscribe to be updated on upcoming Python tutorials.

One thought on “How to track phone number in Python

Leave a Reply

error

Enjoy this blog? Please spread the word :)