import streamlit as st import phonenumbers from phonenumbers import geocoder, carrier, is_valid_number def track_phone_number_details(phone_number_str): try: phone_number = phonenumbers.parse(phone_number_str, None) if phonenumbers.is_valid_number(phone_number): location_info = geocoder.description_for_number(phone_number, "en") carrier_info = carrier.name_for_number(phone_number, "en") is_valid = "Valid" if is_valid_number(phone_number) else "Invalid" details = { "Phone Number": phone_number_str, "Valid": is_valid, "Location": location_info, "Carrier": carrier_info, "Country Code": phone_number.country_code, "National Number": phone_number.national_number, } return details else: return {"Error": "Invalid phone number."} except phonenumbers.NumberParseException: return {"Error": "Invalid phone number format."} def main(): st.title("Phone Number Details Tracker") st.write("Enter a phone number below to get its details:") phone_number_str = st.text_input("Phone Number:") if st.button("Get Details"): details = track_phone_number_details(phone_number_str) st.write("Details:") for key, value in details.items(): st.write(f"{key}: {value}") if __name__ == "__main__": main()