Skip to content

Tags: sthagen/geopy-geopy

Tags

1.21.0

Toggle 1.21.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
KostyaEsmukov Kostya Esmukov
* ADDED: `HERE` geocoder now supports the new API KEY authentication

    method. The old one is marked as deprecated and now issues a warning.
    Contributed by deeplook. (geopy#388)

*   ADDED: `Nominatim`-based geocoders: `featuretype` parameter
    has been added to the `geocode` method.
    Contributed by Sergio Martín Morillas. (geopy#365)

*   ADDED: `Nominatim`-based geocoders: `namedetails` parameter
    has been added to the `geocode` method.
    Contributed by enrique a. (geopy#368)

*   ADDED: `Pelias`: `language` parameter has been added
    to the `geocode` and `reverse` methods.
    Contributed by Armin Leuprecht. (geopy#378)

*   CHANGED: `Yandex` geocoder started to require API key for all requests
    since September 2019, so a warning asking to specify a key has been
    added which is issued when API key is missing.

*   CHANGED (packaging): sdist now contains tests.

*   FIXED: Updated link to `TomTom` Search API documentation.
    Contributed by Przemek Malolepszy. (geopy#362)

*   FIXED: Occasional ``KeyError('city')`` in `Geolake`.
    Contributed by Dmitrii K. (geopy#373)

1.20.0

Toggle 1.20.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
KostyaEsmukov Kostya Esmukov
* FIXED: `MapBox`'s `geocode` method was ignoring the `exactly_one`

    parameter. Contributed by TheRealZeljko. (geopy#358)

*   FIXED: The resulting `Location`'s `raw` attribute in `MapBox`
    erroneously contained a single string instead of a full service
    response. This might be considered a breaking change (although
    it's unlikely that the previous `raw` value was usable at all).
    Contributed by Sergey Lyapustin and TheRealZeljko. (geopy#354)

1.19.0

Toggle 1.19.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
KostyaEsmukov Kostya Esmukov
* ADDED: `GoogleV3`: `place_id` arg has been added to

    the `geocode` method. Contributed by Mesut Öncel. (geopy#348)

*   ADDED: `Geolake`, `GeoNames`, `MapBox`, `OpenCage`, `OpenMapQuest`,
    `Nominatim` and `PickPoint` geocoders now also accept Python lists
    of countries instead of just a single string. (geopy#349)

*   CHANGED: `geocode`-specific args have been moved to `geocode` methods
    from `__init__`, and the corresponding `__init__` args has been
    deprecated. The affected geocoders are: `GeocodeEarth`, `GeoNames`,
    `OpenMapQuest`, `Nominatim`, `Pelias`, `PickPoint`,
    `LiveAddress`. (geopy#350)

*   FIXED: `OpenCage`'s `country` arg was not respected.
    Contributed by Sebastian Illing. (geopy#342)

*   FIXED: `GoogleV3` has erroneously been issuing a warning about
    a missing api key when using premier.
    Contributed by Mike Hansen. (geopy#345)

1.18.1

Toggle 1.18.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
KostyaEsmukov Kostya Esmukov
* FIXED: `GeoNames.reverse_timezone` didn't process errors returned b…

…y API

    and instead was always raising obscure `KeyError` exceptions.

*   FIXED: `GeoNames.reverse_timezone` raised `KeyError` for points which
    don't have an assigned Olson timezone ID (e.g. Antarctica).
    Now a valid `geopy.Timezone` is returned for such, where pytz timezone
    is created as `pytz.FixedOffset`.

*   FIXED: `GoogleV3.reverse_timezone` raised `KeyError` for points which
    don't have an assigned Olson timezone ID (e.g. Antarctica).
    Now `None` is returned for such requests, as Google doesn't provide
    any meaningful data there.

1.18.0

Toggle 1.18.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
KostyaEsmukov Kostya Esmukov
The work on geopy 2.0 has started, see the new `geopy 2.0` doc section

for more info. geopy 2.0 will drop support for Python 2.7 and 3.4.
To ensure a smoother transition from 1.x to 2.0, make sure to check
your code with warnings enabled (i.e. run python with the ``-Wd``
switch).

*   ADDED: Geolake geocoder. Contributed by Yorick Holkamp. (geopy#329)

*   ADDED: BANFrance (Base Adresse Nationale) geocoder.
    Contributed by Sébastien Barré. (geopy#336)

*   ADDED: TomTom and AzureMaps: `language` param has been added to
    the `reverse` method.

*   ADDED: Geonames geocoder now supports both `findNearbyPlaceName`
    and `findNearby` reverse geocoding methods, as chosen by a new
    `find_nearby_type` parameter of the `reverse` method.
    Contributed by svalee. (geopy#327)

*   ADDED: Geonames geocoder now supports returning a timezone
    for a particular `Point` via a new `reverse_timezone` method.
    Contributed by svalee. (geopy#327)

*   ADDED: Geonames geocoder's `reverse` method now supports new
    parameters: `lang` and `feature_code`.
    Contributed by svalee. (geopy#327)

*   ADDED: Geonames now supports `scheme` parameter. Although
    the service itself doesn't yet support `https`, it will
    be possible to enable `https` via this new parameter as soon
    as they add the support, without waiting for a new release of
    geopy.

*   CHANGED: Geonames now builds `Location.address` differently:
    previously it looked like `Kreuzberg, 16, DE`, now it looks
    like `Kreuzberg, Berlin, Germany`.

*   CHANGED: All warnings now specify a correct `stacklevel` so that
    the warnings point at the place in your code that triggered it,
    instead of the geopy internals.

*   CHANGED: All warnings with `UserWarning` category which will be
    removed in geopy 2.0 now have the `DeprecationWarning` category.

*   CHANGED: `geopy.extra.rate_limiter.RateLimiter` is no longer
    an experimental API.

*   CHANGED: `GoogleV3.timezone` now issues a deprecation warning when
    `at_time` is a number instead of a `datetime`. In geopy 2.0 this will
    become an exception.

*   CHANGED: `GoogleV3.timezone` method is now deprecated in favor of
    `GoogleV3.reverse_timezone`, which works exactly the same, except that
    it returns a new `geopy.Timezone` object, which is a wrapper for
    pytz timezone similarly to `geopy.Location`. This object also
    contains a raw response of the service. `GoogleV3.timezone` will be
    removed in geopy 2.0. (geopy#332)

*   CHANGED: `Point` constructor silently ignored the tail of the string
    if it couldn't be parsed, now it is not ignored. For example,
    `75 5th Avenue, NYC, USA` was parsed as `Point(75, 5)`,
    but now it would raise a `ValueError` exception.

*   FIXED: `GoogleV3.timezone` method didn't process errors returned
    by the API.

1.17.0

Toggle 1.17.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
KostyaEsmukov Kostya Esmukov
* ADDED: OpenMapQuest how inherits from Nominatim. This adds support

    for all parameters and queries implemented in Nominatim (such as
    reverse geocoding). (geopy#319)

*   ADDED: Nominatim-based geocoders now support an `extratags` option.
    Contributed by Oleg. (geopy#320)

*   ADDED: Mapbox geocoder. Contributed by William Hammond. (geopy#323)

*   ADDED: ArcGIS now supports custom `domain` and `auth_domain` values.
    Contributed by Albina. (geopy#325)

*   ADDED: Bodies of unsuccessful HTTP responses are now logged
    with `INFO` level.

*   CHANGED: Reverse geocoding methods now issue a warning for string
    queries which cannot be used to construct a Point instance.
    In geopy 2.0 this will become an exception.

*   CHANGED: GoogleV3 now issues a warning when used without an API key.

*   CHANGED: Parameters accepting bounding boxes have been unified to
    accept a pair of diagonal points across all geopy. Previous
    formats are still supported (until geopy 2.0) but now issue
    a warning when used.

*   CHANGED: Path part of the API urls has been moved to class attributes
    in all geocoders, which allows to override them in subclasses.
    Bing and What3Words now store api urls internally differently.

*   FIXED: TomTom and AzureMaps have been passing boolean values for
    `typeahead` in a wrong format (i.e. `0` and `1` instead of
    `false` and `true`).

1.16.0

Toggle 1.16.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
KostyaEsmukov Kostya Esmukov
* ADDED: ``geopy.extra.rate_limiter.RateLimiter`` class, useful for

    bulk-geocoding a pandas DataFrame. See also the new
    `Usage with Pandas` doc section. (geopy#317)

*   CHANGED: Nominatim now issues a warning when the default user_agent
    is used against `nominatim.openstreetmap.org`. Please always specify
    a custom user-agent when using Nominatim. (geopy#316)

1.15.0

Toggle 1.15.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
KostyaEsmukov Kostya Esmukov
* ADDED: GeocodeEarth geocoder based on Pelias (ex-Mapzen). (geopy#309)

*   ADDED: TomTom and AzureMaps (based on TomTom) geocoders. (geopy#312)

*   ADDED: HERE geocoder. Contributed by deeplook. (geopy#304)

*   ADDED: Baidu now supports authentication using SK via a new
    `security_key` option.
    Contributed by tony. (geopy#298)

*   ADDED: Nominatim's and Pickpoint's `view_box` option now accepts
    a list of Points or numbers instead of just stringified coordinates.
    Contributed by svalee. (geopy#299)

*   ADDED: Nominatim and Pickpoint geocoders now support a `bounded`
    option, which restricts results to the items strictly contained
    within the `view_box`.
    Contributed by Karimov Dmitriy. (geopy#182)

*   ADDED: `proxies` param of geocoders can now accept a single string
    instead of a dict. See the updated docs for
    the ``geopy.geocoders.options.default_proxies`` attribute for
    more details.
    Contributed by svalee. (geopy#300)

*   CHANGED: Mapzen has been renamed to Pelias, `domain` parameter has
    been made required. (geopy#309)

*   CHANGED: What3Words API has been updated from v1 to v2.
    Please note that `Location.raw` results have changed due to that.
    Contributed by Jonathan Batchelor. (geopy#226)

*   FIXED: Baidu mistakenly didn't process the returned errors correctly.
    Contributed by tony. (geopy#298)

*   FIXED: `proxies={}` didn't reset system proxies as expected.

1.14.0

Toggle 1.14.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
KostyaEsmukov Kostya Esmukov
This release contains a lot of public API cleanup. Also make sure to

check out the updated docs! A new `Semver` doc section has been added,
explaining the geopy's policy on breaking changes.

*   ADDED: Nominatim geocoder now supports an `addressdetails` option in
    the `reverse` method.
    Contributed by Serphentas. (geopy#285)

*   ADDED: ArcGIS geocoder now supports an `out_fields` option in
    the `geocode` method.
    Contributed by Jonathan Batchelor. (geopy#227)

*   ADDED: Yandex geocoder now supports a `kind` option in the
    `reverse` method.

*   ADDED: Some geocoders were missing `format_string` option. Now all
    geocoders support it.

*   ADDED: `geopy.distance.lonlat` function for conveniently converting
    `(x, y, [z])` coordinate tuples to the `Point` instances, which use
    `(y, x, [z])`.
    Contributed by svalee. (geopy#282)

*   ADDED: `geopy.geocoders.options` object, which allows to configure
    geocoder defaults (such as User-Agent, timeout, format_string)
    application-wide. (geopy#288)

*   ADDED: Support for supplying a custom SSL context. See docs for
    `geopy.geocoders.options.default_ssl_context`. (geopy#291)

*   ADDED: Baidu geocoder was missing the `exactly_one` option in its `reverse`
    method.

*   ADDED: GeocodeFarm now supports a `scheme` option.

*   CHANGED: Baidu and Yandex geocoders now use https scheme by default
    instead of http.

*   CHANGED: ArcGIS geocoder was updated to use the latest API.
    Please note that `Location.raw` results for `geocode` have changed
    a little due to that.
    Contributed by Jonathan Batchelor. (geopy#227)

*   CHANGED: Explicitly passed `timeout=None` in geocoder calls now
    issues a warning. Currently it means "use geocoder's default timeout",
    while in geopy 2.0 it would mean "use no timeout". (geopy#288)

*   CHANGED: GoogleV3 `geocode` call now supports `components` without
    `query` being specified. (geopy#296)

*   CHANGED: GeoNames, GoogleV3, IGNFrance, OpenCage and Yandex erroneously
    had `exactly_one=False` by default for `reverse` methods, which must have
    been True. This behavior has been kept, however a warning will be issued
    now unless `exactly_one` option is explicitly specified in `reverse` calls
    for these geocoders. The default value will be changed in geopy 2.0. (geopy#295)

*   CHANGED: Point now throws a `ValueError` exception instead of normalizing
    latitude and tolerating NaN/inf values for coordinates. (geopy#294)

*   CHANGED: `Vincenty` usage now issues a warning. `Geodesic` should be used
    instead. Vincenty is planned to be removed in geopy 2.0. (geopy#293)

*   CHANGED: ArcGIS `wkid` option for `reverse` call has been deprecated
    because it was never working properly, and it won't, due to
    the coordinates normalization in Point.

*   FIXED: ArcGIS and What3Words did not respect `exactly_one=False`.
    Now they respect it and return a list of a single location in this case.

*   FIXED: ArcGIS was throwing an exception on empty response of `reverse`.
    Now `None` is returned, as expected.

*   FIXED: `GeocodeFarm` was raising an exception on empty response instead
    of returning `None`. Contributed by Arthur Pemberton. (geopy#240)

*   FIXED: `GeocodeFarm` had missing `Location.address` value sometimes.

*   REMOVED: `geopy.geocoders.DEFAULT_*` constants (in favor of
    `geopy.geocoders.options.default_*` attributes). (geopy#288)

*   REMOVED: YahooPlaceFinder geocoder. (geopy#283)

*   REMOVED: GeocoderDotUS geocoder. (geopy#286)

1.13.0

Toggle 1.13.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
KostyaEsmukov Kostya Esmukov
* ADDED: Pickpoint geocoder. Contributed by Vladimir Kalinkin. (geopy…

…#246)

*   ADDED: Bing geocoder: additional parameters for geocoding (`culture`
    and `include_country_code`). Contributed by Bernd Schlapsi. (geopy#166)

*   ADDED: `Point` and `Location` instances are now picklable.

*   ADDED: More accurate algorithm for distance computation
    `geopy.distance.geodesic`, which is now a default
    `geopy.distance.distance`. Vincenty usage is now discouraged in favor of
    the geodesic. This also has added a dependency of geopy on
    `geographiclib` package. Contributed by Charles Karney. (geopy#144)

*   ADDED: Nominatim geocoder now supports a `limit` option and uses `limit=1`
    for `exactly_one=True` requests. Contributed by Serphentas. (geopy#281)

*   CHANGED: `Point` now issues warnings for incorrect or ambiguous inputs.
    Some of them (namely not finite values and out of band latitudes)
    will be replaced with ValueError exceptions in the future versions
    of geopy. (geopy#272)

*   CHANGED: `Point` now uses `fmod` instead of `%` which results in more
    accurate coordinates normalization. Contributed by svalee. (geopy#275, geopy#279)

*   CHANGED: When using http proxy, urllib's `install_opener` was used, which
    was altering `urlopen` call globally. It's not used anymore.

*   CHANGED: `Point` now raises `ValueError` instead of `TypeError` when more
    than 3 arguments have been passed.

*   FIXED: `Point` was raising an exception when compared to non-iterables.

*   FIXED: Coordinates of a `Point` instance changed via `__setitem__` were
    not updating the corresponding lat/long/alt attributes.

*   FIXED: Coordinates of a `Point` instance changed via `__setitem__` were
    not being normalized after assignment. Note, however, that attribute
    assignments are still not normalized. (geopy#272)

*   FIXED: `Distance` instances comparison was not working in Python3.

*   FIXED: Yandex geocoder was sending API key with an incorrect parameter.

*   FIXED: Unit conversions from feet were incorrect.
    Contributed by scottessner. (geopy#162)

*   FIXED: Vincenty destination function had an error in the formula
    implementation. Contributed by Hanno Schlichting. (geopy#194)

*   FIXED: Vincenty was throwing UnboundLocalError when difference between
    the two longitudes was close to 2*pi or either of them was NaN. (geopy#187)

*   REMOVED: `geopy.util.NullHandler` logging handler has been removed.