GeoIP2 Python Versions Save

Python code for GeoIP2 webservice client and database reader

v4.0.0

3 years ago
  • IMPORTANT: Python 2.7 and 3.5 support has been dropped. Python 3.6 or greater is required.
  • Asyncio support has been added for web service requests. To make async requests, use geoip.webservice.AsyncClient.
  • geoip.webservice.Client now provides a close() method and associated context managers to be used in with statements.
  • Type hints have been added.
  • The attributes postal_code and postal_confidence have been removed from geoip2.record.Location. These would previously always be None.
  • user_id is no longer supported as a named argument for the constructor on geoip2.webservice.Client. Use account_id or a positional parameter instead.
  • For both Client and AsyncClient requests, the default timeout is now 60 seconds.

v3.0.0

4 years ago
  • BREAKING CHANGE: The geoip2.record.* classes have been refactored to improve performance. This refactoring may break classes that inherit from them. The public API should otherwise be compatible.
  • The network attribute was added to geoip2.record.Traits, geoip2.model.AnonymousIP, geoip2.model.ASN, geoip2.model.ConnectionType, geoip2.model.Domain, and geoip2.model.ISP. This is an ipaddress.IPv4Network or an ipaddress.IPv6Network. This is the largest network where all of the fields besides ip_address have the same value. GitHub #79.
  • Python 3.3 and 3.4 are no longer supported.
  • Updated documentation of anonymizer attributes - is_anonymous_vpn and is_hosting_provider - to be more descriptive.
  • Added support for the user_count trait for the GeoIP2 Precision webservice.
  • Added the static_ip_score attribute to geoip2.record.Traits for GeoIP2 Precision Insights. This is a float which indicates how static or dynamic an IP address is.

v2.9.0

5 years ago
  • You may now pass in the database via a file descriptor rather than a file name when creating a new geoip2.database.Reader object using MODE_FD. This will read the database from the file descriptor into memory. Pull request by nkinkade. GitHub #53.

v2.8.0

6 years ago
  • Python 2.6 support has been dropped. Python 2.7+ or 3.3+ is now required.
  • Renamed user ID to account ID in the code and added support for the new ACCOUNT_ID_REQUIRED AND ACCOUNT_ID_UNKNOWN error codes.

v2.7.0

6 years ago
  • The is_in_european_union attribute was added to geoip2.record.Country and geoip2.record.RepresentedCountry. This attribute is True if the country is a member state of the European Union.

v2.6.0

6 years ago
  • The following new anonymizer attributes were added to geoip2.record.Traits for use with GeoIP2 Precision Insights: is_anonymous, is_anonymous_vpn, is_hosting_provider, is_public_proxy, and is_tor_exit_node.

v2.5.0

7 years ago
  • Added support for GeoLite2 ASN database.
  • Corrected documentation of errors raised when using the database reader. Reported by Radek Holý. GitHub #42.

v2.4.2

7 years ago
  • Recent releases of requests (2.12.2 and 2.12.3) require that the username for basic authentication be a string or bytes. The documentation for this module uses an integer for the user_id, which will break with these requests versions. The user_id is now converted to bytes before being passed to requests.

v2.4.1

7 years ago
  • Updated documentation to clarify what the accuracy radius refers to.
  • Fixed classifiers in setup.py.

v2.4.0

7 years ago
  • This module now uses ipaddress on Python 2 rather than ipaddr to validate IP addresses before sending them to the web service.
  • Added handling of additional error codes that the web service may return.
  • PEP 257 documentation fixes.
  • Updated documentation to reflect that the accuracy radius is now included in City.
  • Previously, the source distribution was missing some tests and test databases. This has been corrected. Reported by Lumir Balhar.