Metadata-Version: 2.1
Name: opencage
Version: 1.2
Summary: Simple wrapper module for the OpenCage Geocoder API
Home-page: https://github.com/OpenCageData/python-opencage-geocoder/
Author: OpenCage Data Ltd
Author-email: info@opencagedata.com
License: BSD
Download-URL: https://github.com/OpenCageData/python-opencage-geocoder/tarball/1.1.6
Keywords: geocoding,geocoder
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown
Requires-Dist: Requests (>=2.2.0)
Requires-Dist: six (>=1.4.0)


[![Build Status](https://travis-ci.org/OpenCageData/python-opencage-geocoder.svg?branch=master)](https://travis-ci.org/OpenCageData/python-opencage-geocoder)
[![Kritika Analysis Status](https://kritika.io/users/freyfogle/repos/1769415496124133/heads/master/status.svg)](https://kritika.io/users/freyfogle/repos/1769415496124133/heads/master/)
[![PyPI version](https://badge.fury.io/py/opencage.svg)](https://badge.fury.io/py/opencage)

# OpenCage Data Geocoding Module for Python

A Python module that uses [OpenCage Data's](https://opencagedata.com/) geocoder.

## Usage

Install the module:

```bash
pip install opencage
```

Load the module:

```python
from opencage.geocoder import OpenCageGeocode
```

Create an instance of the geocoder module, passing a valid OpenCage Data Geocoder API key
as a parameter to the geocoder modules's constructor:

```python
key = 'your-api-key-here'
geocoder = OpenCageGeocode(key)
```

Pass a string containing the query or address to be geocoded to the modules's `geocode` method:

```python
query = "82 Clerkenwell Road, London"
result = geocoder.geocode(query)
```

You can add [additional parameters](https://opencagedata.com/api#forward):

```python
result = geocoder.geocode('London', no_annotations=1, language='es')
```

You can use the proximity parameter to provide the geocoder with a hint:

```python
result = geocoder.geocode('London', proximity='42.828576, -81.406643')
print(result[0]['formatted'])
# u'London, ON N6A 3M8, Canada'
```


### Reverse geocoding

Turn a lat/long into an address with the ``reverse_geocode`` method:

    results = geocoder.reverse_geocode(51.51024, -0.10303)


### Exceptions

If anything goes wrong, then an exception will be raised:
 * ``InvalidInputError`` for non-unicode query strings
 * ``UnknownError`` if there's some problem with the API (bad results, 500 status code, etc)
 * ``RateLimitExceededError`` if you go past your rate limit


