FreeGeoIp's RESTful API client for Python
Project description
Description
Simple Python library made for consuming FreeGeoIp's RESTful API. API returns geo location data either for the current IP address that made the request or for the provided IP address.
Installing and usage
Install using pip (available at pypi - freegeoip-client)
pip install freegeoip-client
Use it in code
from freegeoip_client import FreeGeoIpClient
client = FreeGeoIpClient(api_key="some API key")
geo_data = client.get_geo_location()
geo_data_by_ip = client.get_geo_location_for_ip_address("8.8.8.8")
Example output
>>> from freegeoip_client import FreeGeoIpClient
>>> client = FreeGeoIpClient(api_key="4e5bac60-8fd5-11ec-bf44-17cf03f2ab06")
>>> client.get_geo_location_for_ip_address("8.8.8.8")
{'ip': '8.8.8.8', 'country_code': 'US', 'country_name': 'United States', 'region_code': '', 'region_name': '', 'city': '', 'zip_code': '', 'time_zone': 'America/Chicago', 'latitude': 37.751, 'longitude': -97.822, 'metro_code': 0}
Building project locally
Using pip - Package Installer for Python and setup.py, __init__.py files to define which modules will be included in a package, project can be built and installed locally in order to import it in another Python script.
# OS-level (/usr/local/lib/<python version>)
python -m pip install -e .
# for current user (/home/<user>)
python -m pip install --user -e .
# virtual environment (wherever virtual environment is initialized)
python -m venv env
source /env/bin/activate
python -m pip install -e .
Importing in different script(s):
from freegeoip_client import FreeGeoIpClient
Third party dependencies for project development
Required:
- requests - Required to make HTTP requests
Not required (but highly encouraged to improve code quality):
- flake8 - Tool to enforce style guide for Python code (PEP8)
- black - tool to format Python code
- pytest - framework for writing small and readable tests
- requests-mock - library at its core is simply a transport adapter that can be preloaded with responses that are returned if certain URIs are requested
Dependencies are defined in requirements.txt file and are installed using pip. Dependencies can be installed on OS-level, for current user or within virtual environments.
# OS-level (/usr/local/lib/<python version>)
python -m pip install -r requirements.txt
# for current user (/home/<user>)
python -m pip install --user -r requirements.txt
# virtual environment (wherever virtual environment is initialized)
python -m venv env
source /env/bin/activate
python -m pip install -r requirements.txt
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file freegeoip-client-1.0.2.tar.gz.
File metadata
- Download URL: freegeoip-client-1.0.2.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03209c13d6ff51a0ba2eb123f9dd3bfb53a54a066ad8c39af62a0c10fc720bcb
|
|
| MD5 |
95e7252d6d64f871744a6dc04038ccca
|
|
| BLAKE2b-256 |
00b4d72373b1a03506bad43a7b652920f216bec9c85df52f3406b0e36ae6a9dc
|