A modern desktop application for looking up IP address information, visualizing locations on a live map, and managing bookmarks.
Built with Python, PySide6 (Qt for Python), and OpenLayers for map rendering.
- π IP Lookup: Enter any IPv4 or IPv6 address to fetch detailed information (location, organization, hostname, etc.) using the ipinfo.io API.
- πΊοΈ Live Map: Instantly view the geolocation of the IP address on an interactive map (OpenLayers, embedded in-app).
- β Bookmarking: Save IP addresses and their details for future reference.
- βοΈ Edit Bookmarks: Update the IP address of any bookmark (with live validation and info refresh).
- ποΈ Delete Bookmarks: Remove bookmarks you no longer need.
- π Show Details: Instantly display full details and map for any bookmarked IP.
- πΎ Persistent Storage: Bookmarks are saved to
ip_bookmarks.jsonin the app directory. - β‘ Responsive UI: All network operations run in a background thread to keep the interface responsive.
- π Light/Dark Theme: Toggle between light and dark UI themes.
- π‘οΈ Error Handling: Graceful handling of invalid IPs, network errors, and duplicate bookmarks.
- π Python 3.7+
- pip
pip install -r requirements.txtNote:
You must have PySide6 installed with WebEngine support.
If you encounter issues with the map view, ensure your Python environment supportsPySide6.QtWebEngineWidgets.
-
Run the Application:
python ip_lookup_app_themed_map.py
-
Lookup an IP:
- Enter an IP address (e.g.,
8.8.8.8or2001:4860:4860::8888) in the input field. - Click "Lookup IP" or press Enter.
- The app will display IP details and show the location on the map.
- Enter an IP address (e.g.,
-
Bookmark an IP:
- After a successful lookup, click "Bookmark IP" to save it.
-
Manage Bookmarks:
- View all saved IPs in the "Bookmarked IPs" section.
- Use "Show Details" to display info and map in the main panel.
- Use "Edit" to change the IP address (the app will fetch and update details).
- Use "Delete" to remove a bookmark.
-
Switch Theme:
- Click "Toggle Theme" to switch between light and dark modes.
ip_lookup_app_themed_map.py # Main application code
README.md # This file
requirements.txt # Python dependencies
demo/
img-1.png
ip_bookmarks.json # (Created at runtime) Stores bookmarks
- π The app uses the free ipinfo.io API endpoint. For heavy use or advanced features, consider registering for an API key.
- πΎ Bookmarks are stored locally in
ip_bookmarks.json(created automatically). - β‘ All network requests are performed in a background thread for a smooth user experience.
- πΊοΈ The map is rendered using OpenLayers via an embedded web view (
QWebEngineView).
This project is provided for educational and personal use.
- ipinfo.io for the IP geolocation API.
- PySide6 for the Qt for Python bindings.
- OpenLayers for the interactive map
