Metadata-Version: 2.1
Name: iploka-python
Version: 1.0.0
Summary: Free GeoIP library to help you convert IP to Geolocation information by iploka.
Home-page: https://github.com/iploka/iploka-python
Author: allen
Author-email: allen@howuku.com
License: UNLICENSE
Description: # iploka
        Get geolocation information from any IP addresses. Get free API Key from https://iploka.com for free-forever 10,000 monthly requests.
        
        `iploka` was developed by [Howuku](https://howuku.com). Howuku is an all-in-one CRO & analytics tool to help you optimize conversion rates and user experience.
        
        [![PYTHON Version](https://img.shields.io/pypi/v/iploka-python)](https://pypi.org/project/iploka-python/)
        
        ## Features
        
        - Free up to 10,000 monthly request
        - Support both IPv4 and IPv6
        - Additional timezone, currency and connection information
        
        ## Installation
        
        - Include package in your project
        
        ```sh
        $ pip install iploka-python
        ```
        
        #### How to use
        
        ```python
        from iploka_geoip import GeoIP
        
        geoip = GeoIP("YOUR_API_KEY")
        # lookup ip address of the specified ip
        data = geoip.lookup("134.201.250.155")
        print(data)
        
        ```
        - And the complete result will be returned:
        ```python
        {
          "ip": "134.201.250.155",
          "type": "ipv4",
          "continent_code": "NA",
          "continent_name": "North America",
          "country_code": "US",
          "country_name": "United States",
          "region_code": "CA",
          "region_name": "California",
          "city": "Los Angeles",
          "latitude": 34.003,
          "longitude": -118.4298,
          "location": {
            "geoname_id": 4135386,
            "capital": "Washington",
            "languages": [
              {
                "code": "en-US",
                "name": "English"
              }
            ],
            "country_flag": "https://flagpedia.net/data/flags/h80/us.png",
            "country_flag_emoji": "ðŸ‡ºðŸ‡¸",
            "country_flag_emoji_unicode": "U+1F1FA U+1F1F8",
            "calling_code": "1",
            "is_eu": false
          },
          "time_zone": {
            "id": "America/Los_Angeles",
            "current_time": "2021-06-29T20:01:53-07:00",
            "gmt_offset": -25200,
            "code": "-07",
            "is_daylight_saving": true
          },
          "currency": {
            "code": "USD",
            "name": "Us Dollar",
            "plural": "Us Dollars",
            "symbol": "$",
            "symbol_native": "$"
          },
          "connection": {
            "asn": 30722,
            "isp": "Vodafone Italia S.p.A."
          }
        }
        ```
        
        
        #### Example tests for iploka module
        
        ```python
        class GetRespTest(BaseTest):
            """Tests for our helper function: ``_get_resp``."""
        
            def test_returns_response(self):
                self.assertIsInstance(_get_resp('test', 'test'), Response)
        
        
        class GeoIPLookupTest(BaseTest):
            """Tests for our ``GeoIP.lookup()`` method."""
        
            def test_raises_connection_error_on_connection_error(self):
                import iploka_geoip
        
                iploka_geoip.geoip.API_URI = 'https://api.asdgasggasgdasgdsasgdasdfadfsda.com'
                geoip = iploka_geoip.GeoIP('test')
        
                self.assertRaises(ConnectionError, geoip.lookup, '8.8.8.8')
        
            def test_raises_geoip_exception_on_error(self):
                import iploka_geoip
        
                iploka_geoip.geoip.API_URI = 'https://api.asdgasggasgdasgdsasgdasdfadfsds.com'
                geoip = iploka_geoip.GeoIP('test')
        
                self.assertRaises(GeoIPException, geoip.lookup, '8.8.8.8')
        
            def test_raises_service_error_on_error(self):
                import iploka_geoip
        
                iploka_geoip.geoip.API_URI = 'https://api.ipify.org/woo'
                geoip = iploka_geoip.GeoIP('test')
        
                self.assertRaises(ServiceError, geoip.lookup, '8.8.8.8')
        
            def test_returns_geoip_data(self):
                import iploka_geoip
        
                iploka_geoip.geoip.API_URI = 'https://api.iploka.com/api/v1'
                geoip = iploka_geoip.GeoIP(environ.get('API_KEY'))
        
                self.assertEqual(geoip.lookup('8.8.8.8')['ip'], '8.8.8.8')
        ```
        ### Support
        
        Email: hello@iploka.com
Keywords: python ipaddress geoip geolocation
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: Public Domain
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Internet
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown
