geopy latest version

v2.0.0


geopy v2.0.0 Release Notes

Release Date: 2020εΉ΄06月27ζ—₯ // over 5 years ago
  • πŸš€ geopy 2.0 is a major release with lots of cleanup and inner refactorings.
    The public interface of the library is mostly the same, and the set
    πŸ‘ of supported geocoders didn't change.

    πŸš€ If you have checked your code on the latest 1.x release with enabled
    ⚠ warnings (i.e. with -Wd key of the python command) and fixed
    ⬆️ all of them, then it should be safe to upgrade.

    πŸ†• New Features

    geopy.adapters module. Previously all geocoders used urllib
    πŸ‘ for HTTP requests, which doesn't support keepalives. Adapters is
    a new mechanism which allows to use other HTTP client implementations.

    There are 3 implementations coming out of the box:

    • geopy.adapters.RequestsAdapter -- uses requests library
      πŸ‘ which supports keepalives (thus it is significantly more effective
      πŸ“¦ than urllib). It is used by default if requests package
      is installed.
    • geopy.adapters.URLLibAdapter -- uses urllib, basically
      0️⃣ it provides the same behavior as in geopy 1.x. It is used by default if
      πŸ“¦ requests package is not installed.

    - geopy.adapters.AioHTTPAdapter -- uses aiohttp library.

    βž• Added optional asyncio support in all geocoders via
    πŸ‘€ .AioHTTPAdapter, see the new Async Mode
    doc section.

    .AsyncRateLimiter -- an async counterpart of .RateLimiter.

    .RateLimiter is now thread-safe.

    Packaging Changes

    ⬇️ Dropped support for Python 2.7 and 3.4.

    πŸ†• New extras:

    • geopy[requests] for geopy.adapters.RequestsAdapter.
    • geopy[aiohttp] for geopy.adapters.AioHTTPAdapter.

    πŸ’₯ Breaking Changes

    • geopy.distance algorithms now raise ValueError for points with
      different altitudes, because altitude is ignored in calculations.
    • βœ‚ Removed geopy.distance.vincenty, use geopy.distance.geodesic instead.
    • ⏱ timeout=None now disables request timeout, previously
      0️⃣ a default timeout has been used in this case.
    • βœ‚ Removed GoogleV3.timezone, use .GoogleV3.reverse_timezone instead.
    • βœ‚ Removed format_string param from all geocoders.
      πŸ‘€ See Specifying Parameters Once doc section for alternatives.
    • 0️⃣ exactly_one's default is now True for all geocoders
      and methods.
    • Removed service-specific request params from all __init__ methods
      of geocoders. Pass them to the corresponding geocode/reverse
      methods instead.
    • All bounding box arguments now must be passed as a list of two Points.
      Previously some geocoders accepted unique formats like plain strings
      and lists of 4 coordinates -- these values are not valid anymore.
    • .GoogleV3.reverse_timezone used to allow numeric at_time value.
      Pass datetime instances instead.
    • πŸ“œ reverse methods used to bypass the query if it couldn't be parsed
      as a .Point. Now a ValueError is raised in this case.
    • .Location and .Timezone classes no longer accept None
      for point and raw args.
    • πŸ”§ .Nominatim now raises geopy.exc.ConfigurationError when
      0️⃣ used with a default or sample user-agent.
    • .Point now raises a ValueError if constructed from a single number.
      A zero longitude must be explicitly passed to avoid the error.
    • Most of the service-specific arguments of geocoders now must be passed
      as kwargs, positional arguments are not accepted.
    • βœ‚ Removed default value None for authentication key arguments of
      .GeoNames, .OpenMapQuest and .Yandex.
    • πŸ›  parse_* methods in geocoders have been prefixed with _
      to explicitly mark that they are private.

    πŸ—„ Deprecations

    • 🚚 .Nominatim has been moved from geopy.geocoders.osm module
      to geopy.geocoders.nominatim. The old module is still present for
      🚚 backwards compatibility, but it will be removed in geopy 3.

Previous changes from v2.0.0.rc1

  • πŸš€ geopy 2.0 is a major release with lots of cleanup and inner refactorings.
    The public interface of the library is mostly the same, and the set
    πŸ‘ of supported geocoders didn't change.

    πŸš€ If you have checked your code on the latest 1.x release with enabled
    ⚠ warnings (i.e. with -Wd key of the python command) and fixed
    ⬆️ all of them, then it should be safe to upgrade.

    πŸ†• New features

    geopy.adapters module. Previously all geocoders used urllib
    πŸ‘ for HTTP requests, which doesn't support keepalives. Adapters is
    a new mechanism which allows to use other HTTP client implementations.

    There are 3 implementations coming out of the box:

    • geopy.adapters.RequestsAdapter -- uses requests library
      πŸ‘ which supports keepalives (thus it is significantly more effective
      πŸ“¦ than urllib). It is used by default if requests package
      is installed.
    • geopy.adapters.URLLibAdapter -- uses urllib, basically
      0️⃣ it provides the same behavior as in geopy 1.x. It is used by default if
      πŸ“¦ requests package is not installed.

    - geopy.adapters.AioHTTPAdapter -- uses aiohttp library.

    βž• Added optional asyncio support in all geocoders via
    πŸ‘€ .AioHTTPAdapter, see the new Async Mode
    doc section.

    .AsyncRateLimiter -- an async counterpart of .RateLimiter.

    .RateLimiter is now thread-safe.

    Packaging changes

    ⬇️ Dropped support for Python 2.7 and 3.4.

    πŸ†• New extras:

    • geopy[requests] for geopy.adapters.RequestsAdapter.
    • geopy[aiohttp] for geopy.adapters.AioHTTPAdapter.

    Chores

    • geopy.distance algorithms now raise ValueError for points with
      different altitudes, because altitude is ignored in calculations.
    • βœ‚ Removed geopy.distance.vincenty, use geopy.distance.geodesic instead.
    • ⏱ timeout=None now disables request timeout, previously
      0️⃣ a default timeout has been used in this case.
    • βœ‚ Removed GoogleV3.timezone, use .GoogleV3.reverse_timezone instead.
    • βœ‚ Removed format_string param from all geocoders.
      πŸ‘€ See Specifying Parameters Once doc section for alternatives.
    • 0️⃣ exactly_one's default is now True for all geocoders
      and methods.
    • Removed service-specific request params from all __init__ methods
      of geocoders. Pass them to the corresponding geocode/reverse
      methods instead.
    • All bounding box arguments now must be passed as a list of two Points.
      Previously some geocoders accepted unique formats like plain strings
      and lists of 4 coordinates -- these values are not valid anymore.
    • .GoogleV3.reverse_timezone used to allow numeric at_time value.
      Pass datetime instances instead.
    • πŸ“œ reverse methods used to bypass the query if it couldn't be parsed
      as a .Point. Now a ValueError is raised in this case.
    • .Location and .Timezone classes no longer accept None
      for point and raw args.
    • πŸ”§ .Nominatim now raises geopy.exc.ConfigurationError when
      0️⃣ used with a default or sample user-agent.
    • .Point now raises a ValueError if constructed from a single number.
      A zero longitude must be explicitly passed to avoid the error.
    • Most of the service-specific arguments of geocoders now must be passed
      as kwargs, positional arguments are not accepted.
    • βœ‚ Removed default value None for authentication key arguments of
      .GeoNames, .OpenMapQuest and .Yandex.
    • πŸ›  parse_* methods in geocoders have been prefixed with _
      to explicitly mark that they are private.
Awesome Python is part of the LibHunt network. Terms. Privacy Policy.

(CC)
BY-SA
We recommend Spin The Wheel Of Names for a cryptographically secure random name picker.

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /