diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-12 06:20:58 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-12 06:20:58 +0000 |
commit | 88c09502b85f6fb898a0597d741186e2efccc9ed (patch) | |
tree | b30377ff58e58acf9683eed1c6b24971f14f0405 | |
parent | f3a7588d621c04a2d1ba10689df72dbe3a252066 (diff) |
automatic import of python-opencage
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-opencage.spec | 423 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 425 insertions, 0 deletions
@@ -0,0 +1 @@ +/opencage-2.1.0.tar.gz diff --git a/python-opencage.spec b/python-opencage.spec new file mode 100644 index 0000000..e84b9d1 --- /dev/null +++ b/python-opencage.spec @@ -0,0 +1,423 @@ +%global _empty_manifest_terminate_build 0 +Name: python-opencage +Version: 2.1.0 +Release: 1 +Summary: Wrapper module for the OpenCage Geocoder API +License: BSD +URL: https://github.com/OpenCageData/python-opencage-geocoder/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9f/13/52582c31e9f35085452b7eab8ab7f759b5efda956158d1888d57400f91cd/opencage-2.1.0.tar.gz +BuildArch: noarch + +Requires: python3-Requests +Requires: python3-pyopenssl +Requires: python3-backoff + +%description + +# OpenCage Geocoding Module for Python + +A Python module to access the [OpenCage Geocoding API](https://opencagedata.com/). + +## Build Status / Code Quality / etc + +[](https://badge.fury.io/py/opencage) +[](https://pepy.tech/project/opencage) +[](https://pypi.org/project/opencage/) + +[](https://travis-ci.com/OpenCageData/python-opencage-geocoder) +[](https://twitter.com/opencage) + +## Usage + +Supports Python 3.6 or newer. Use the older opencage 1.x releases if you need Python 2.7 support. + +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: + +```python +results = geocoder.reverse_geocode(51.51024, -0.10303) +``` + +### Sessions + +You can reuse your HTTP connection for multiple requests by +using a `with` block. This can help performance when making +a lot of requests: + +```python +queries = ['82 Clerkenwell Road, London', ...] +with OpenCageGeocode(key) as geocoder: + # Queries reuse the same HTTP connection + results = [geocoder.geocode(query) for query in queries] +``` + +### Asycronous requests + +You can run requests in parallel with the `geocode_async` and `reverse_geocode_async` +method which have the same parameters and response as their synronous counterparts. +You will need at least Python 3.7 and the `asyncio` and `aiohttp` packages installed. + +```python +async with OpenCageGeocode(key) as geocoder: + results = await geocoder.geocode_async(address) +``` + +For a more complete example and links to futher tutorials on asycronous IO see +`batch.py` in the `examples` directory. + +### 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 + + +## Copyright & License + +This software is copyright OpenCage GmbH. +Please see `LICENSE.txt` + +### Who is OpenCage GmbH? + +<a href="https://opencagedata.com"><img src="opencage_logo_300_150.png"></a> + +We run a worldwide [geocoding API](https://opencagedata.com/api) and [geosearch](https://opencagedata.com/geosearch) service based on open data. +Learn more [about us](https://opencagedata.com/about). + +We also run [Geomob](https://thegeomob.com), a series of regular meetups for location based service creators, where we do our best to highlight geoinnovation. If you like geo stuff, you will probably enjoy [the Geomob podcast](https://thegeomob.com/podcast/). + + +%package -n python3-opencage +Summary: Wrapper module for the OpenCage Geocoder API +Provides: python-opencage +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-opencage + +# OpenCage Geocoding Module for Python + +A Python module to access the [OpenCage Geocoding API](https://opencagedata.com/). + +## Build Status / Code Quality / etc + +[](https://badge.fury.io/py/opencage) +[](https://pepy.tech/project/opencage) +[](https://pypi.org/project/opencage/) + +[](https://travis-ci.com/OpenCageData/python-opencage-geocoder) +[](https://twitter.com/opencage) + +## Usage + +Supports Python 3.6 or newer. Use the older opencage 1.x releases if you need Python 2.7 support. + +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: + +```python +results = geocoder.reverse_geocode(51.51024, -0.10303) +``` + +### Sessions + +You can reuse your HTTP connection for multiple requests by +using a `with` block. This can help performance when making +a lot of requests: + +```python +queries = ['82 Clerkenwell Road, London', ...] +with OpenCageGeocode(key) as geocoder: + # Queries reuse the same HTTP connection + results = [geocoder.geocode(query) for query in queries] +``` + +### Asycronous requests + +You can run requests in parallel with the `geocode_async` and `reverse_geocode_async` +method which have the same parameters and response as their synronous counterparts. +You will need at least Python 3.7 and the `asyncio` and `aiohttp` packages installed. + +```python +async with OpenCageGeocode(key) as geocoder: + results = await geocoder.geocode_async(address) +``` + +For a more complete example and links to futher tutorials on asycronous IO see +`batch.py` in the `examples` directory. + +### 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 + + +## Copyright & License + +This software is copyright OpenCage GmbH. +Please see `LICENSE.txt` + +### Who is OpenCage GmbH? + +<a href="https://opencagedata.com"><img src="opencage_logo_300_150.png"></a> + +We run a worldwide [geocoding API](https://opencagedata.com/api) and [geosearch](https://opencagedata.com/geosearch) service based on open data. +Learn more [about us](https://opencagedata.com/about). + +We also run [Geomob](https://thegeomob.com), a series of regular meetups for location based service creators, where we do our best to highlight geoinnovation. If you like geo stuff, you will probably enjoy [the Geomob podcast](https://thegeomob.com/podcast/). + + +%package help +Summary: Development documents and examples for opencage +Provides: python3-opencage-doc +%description help + +# OpenCage Geocoding Module for Python + +A Python module to access the [OpenCage Geocoding API](https://opencagedata.com/). + +## Build Status / Code Quality / etc + +[](https://badge.fury.io/py/opencage) +[](https://pepy.tech/project/opencage) +[](https://pypi.org/project/opencage/) + +[](https://travis-ci.com/OpenCageData/python-opencage-geocoder) +[](https://twitter.com/opencage) + +## Usage + +Supports Python 3.6 or newer. Use the older opencage 1.x releases if you need Python 2.7 support. + +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: + +```python +results = geocoder.reverse_geocode(51.51024, -0.10303) +``` + +### Sessions + +You can reuse your HTTP connection for multiple requests by +using a `with` block. This can help performance when making +a lot of requests: + +```python +queries = ['82 Clerkenwell Road, London', ...] +with OpenCageGeocode(key) as geocoder: + # Queries reuse the same HTTP connection + results = [geocoder.geocode(query) for query in queries] +``` + +### Asycronous requests + +You can run requests in parallel with the `geocode_async` and `reverse_geocode_async` +method which have the same parameters and response as their synronous counterparts. +You will need at least Python 3.7 and the `asyncio` and `aiohttp` packages installed. + +```python +async with OpenCageGeocode(key) as geocoder: + results = await geocoder.geocode_async(address) +``` + +For a more complete example and links to futher tutorials on asycronous IO see +`batch.py` in the `examples` directory. + +### 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 + + +## Copyright & License + +This software is copyright OpenCage GmbH. +Please see `LICENSE.txt` + +### Who is OpenCage GmbH? + +<a href="https://opencagedata.com"><img src="opencage_logo_300_150.png"></a> + +We run a worldwide [geocoding API](https://opencagedata.com/api) and [geosearch](https://opencagedata.com/geosearch) service based on open data. +Learn more [about us](https://opencagedata.com/about). + +We also run [Geomob](https://thegeomob.com), a series of regular meetups for location based service creators, where we do our best to highlight geoinnovation. If you like geo stuff, you will probably enjoy [the Geomob podcast](https://thegeomob.com/podcast/). + + +%prep +%autosetup -n opencage-2.1.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-opencage -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed Apr 12 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.0-1 +- Package Spec generated @@ -0,0 +1 @@ +8400c8d13b81843fec848603f97fd08e opencage-2.1.0.tar.gz |