Geoip2

Latest version: v5.0.1

Safety actively analyzes 723158 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 7

4.0.0

++++++++++++++++++

* 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.

3.0.0

++++++++++++++++++

* 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.

2.9.0

++++++++++++++++++

* 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.

2.8.0

++++++++++++++++++

* 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.

2.7.0

++++++++++++++++++

* 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.

2.6.0

++++++++++++++++++

* 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``.

Page 3 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.