Initial Release
Add ability to use ESRI premium tasks.
Add Citizen Atlas (Washington DC) as a supported geocoder.
Add ESRI SOAP locators as supported geocoders. Added suds dependency. Remove default rejected entities from BING setting to a postprocessor. Refactor constructors to fix bugs caused by mutable default values.
Refactor test runner. Support multiple fields in GroupBy processor.
Fix bug in ESRI geocoders in which defaults were appended rather than overwritten.
- Add SnapPoints postprocessor.
- Fix bug in tests (Bing was not being used even if the environment variable BING_MAPS_API_KEY was set.
- Simplify ESRI ZIP processing
- Improve logging
- Cast Nominatim coordinates returned in JSON from string to float. This was causing an error in the SnapPoints postprocessor added in v1.3.3, as the processor was attempting to evaluate mathematical equations using strings instead of numbers. A test was added to check that the types of the coordinates are successfully converted to floats.
- Add test for SnapPoints postprocessor.
- Change __unicode__() method for places.Candidate to display info indicating null or empty values, instead of just displaying "None".
- Geocoder().geocode() method can take one-line string OR PlaceQuery instance.
- Improve speed by avoiding postprocessing of empty list
- Add support for MapQuest licensed geocoding API using NAVTEQ data
- Add SSH support for MapQuest
- Add CancelIfRegexInAttr preprocessor to avoid geocoding attempts if a PlaceQuery instance attribute matches the given regex (such as a PO Box)
- Add timeout option that can be included in the GeocodeService settings parameter. There is now a default timeout of 10 seconds.
- Add CancelIfPOBox preprocessor and tests
- Add __unicode__() / __str__() method to PlaceQuery for string representation
- IMPORTANT: the Geocoder.geocode() method now returns a dictionary instead of a list of candidates. To just get a list of candidates, use Geocoder.get_candidates(). This functions the same the Geocoder.geocode() method in version 1.3.7.
- New dictionary return type includes a list of candidates as well as a list of UpstreamResponseInfo objects, which include information about the upstream API call, including response time and errors.
- Simplify error handling
- Wrap entire JSON result processing from geocoder in try/catch
- Add separate logger for stats from geocoder
- Expand information in UpstreamResponseInfo object
- Enhance logging
- Add original PlaceQuery to nested dict method response
- Add support for ESRI World Geocoder service
- Add documentation built in Sphinx (available at python-omgeo.readthedocs.org)
- Add shell script to rebuild, set API keys, and run tests
- Move pre- and post-processor modules to package base
- Add validation on Viewbox initialization
- Add repr() methods for place objects, including graphical Viewbox representation
- Modify ReplaceRangeWithNumber preprocessor to be friendly to ZIP+4 postal codes.
- Fix ordering of default postprocessors for EsriWGS geocoder
- Improve handling of ZIP+4-only searching using EsriWGS
- Add repr() method to UpstreamResponseInfo class
- Minor documentation updates
- Fix bug in AttrMigrator.__repr__()
- Fix bug using wrong keys for ESRI findAddressCandidates endpoint in EsriWGS class
- Fix bug using wrong key for MapQuest postalCode
- Remove support for DC CitizenAtlas API
- Add try...except to stats logging command in geocode method
- Add option to raise exception on stats logging failure or add exception to general log.
- Add more documentation for Geocoder methods
- Add test shell script template (test.dummy.sh) to source distribution.
- Remove unneeded requirements.txt from source distribution.
- Add subregion and neighborhood parameters to queries
- Allow HTTP request headers to be specified in geocoder settings
- Documentation updates
- Add Census geocoder
- Return address components from US Census, EsriWGS geocoders.
- Support EsriWGS magicKey.
- Add support for Mapzen search.
- Add support for Google geocoder.
- Fix Google geocoder API key parameter.
- Remove usage of the ESRI WGS geocoder find endpoint.
- Change Census geocoder to use HTTPS
- Remove unsupported EsriNA and EsriEU services
- Add authentication settings for the EsriWGS service
- Add for_storage option for the EsriWGS service
- Remove EsriWGSSSL service
- Use HTTPS instead of HTTP for EsriWGS service
- Add support for Python 3
- Rename Mapzen geocoder to Pelias
- Add HTTP/S support via Requests library
- Exclude people/business results from the Google service. This is a breaking change.
- Remove flake8 as a setup dependency, it was only intended to be required for development.
- Add classifier to setup.py to reflect Python 3 support
- Improve handling of different string types across Python versions
- Fix template string error in AttrListIncludes and AttrListExcludes __repr__
- Populate match_region using RegionAbbr rather than Region from EsriWGS. For example, when using the EsriWGS geocoder, expect 'PA' rather than 'Pennsylvania' in match_region.
- Fix /findAddressCandidates calls for EsriWGS when using magicKey. They previously would provide an internal Loc_name field in the response which is no longer supplied, which broke the API. Making that field optional in our code fixes this.
- Update PyPI publishing integration