%global _empty_manifest_terminate_build 0 Name: python-async-cse Version: 0.3.0 Release: 1 Summary: API wrapper for the Google Custom Search JSON API. https://developers.google.com/custom-search/v1/overview License: MIT URL: https://github.com/crrapi/async-cse Source0: https://mirrors.nju.edu.cn/pypi/web/packages/bc/d1/c9a6827d0ec7108853ce9e902d3c047495c7f5d358e5ebfe148dc381a4eb/async_cse-0.3.0.tar.gz BuildArch: noarch Requires: python3-aiohttp %description [![CircleCI](https://circleci.com/gh/crrapi/async-cse.svg?style=svg)](https://circleci.com/gh/crrapi/async-cse) [![Build Status](https://travis-ci.org/crrapi/async-cse.png?branch=master)](https://travis-ci.org/crrapi/async-cse) [![Codestyle](https://img.shields.io/badge/code%20style-black-000000.svg)](https://img.shields.io/badge/code%20style-black-000000.svg) [![PyPI version](https://badge.fury.io/py/async-cse.svg)](https://badge.fury.io/py/async-cse) [![Issues](https://img.shields.io/github/issues/crrapi/async-cse.svg?colorB=00FFFF)](https://img.shields.io/github/issues/crrapi/async-cse.svg?colorB=00FFFF) [![LICENSE](https://img.shields.io/pypi/l/async-cse.svg)](https://img.shields.io/pypi/l/async-cse.svg) [![Downloads](https://img.shields.io/pypi/dd/async-cse.svg)](https://img.shields.io/pypi/dd/async-cse.svg) [![Python](https://img.shields.io/pypi/pyversions/async-cse.svg)](https://img.shields.io/pypi/pyversions/async-cse.svg) # async-cse Asyncio API wrapper for the [Google Custom Search JSON API](https://developers.google.com/custom-search/v1/overview). # Installation #### Want stable releases? `pip3 install -U async_cse` #### Living on the edge? Want hotfixes? `pip3 install -U git+https://github.com/crrapi/async-cse` # Usage ```python import async_cse client = async_cse.Search("Your API Key") # create the Search client (uses Google by default!) results = await client.search("Python", safesearch=False) # returns a list of async_cse.Result objects first_result = results[0] # Grab the first result print(first_result.title, first_result.description, first_result.url, first_result.image_url) # Title, snippet, URL, and Image URL (if specified) await client.close() # Run this when cleaning up. ``` # Getting image results To get image results with the default engine, use `image_search=True` when searching, like so: ```python await client.search("Python", safesearch=False, image_search=True) # returns a list of async_cse.Result objects ``` # Custom search engines To use Search objects with a custom search engine, provide the ID of the search engine. ```python async_cse.Search("Your API Key", engine_id="015786823554162166929:mywctwj8es4") ``` # SafeSearch SafeSearch can also be turned off by setting `safesearch=False` when using the `search()` method. # Getting an API key You can get an API key by going [here](https://developers.google.com/custom-search/v1/overview) and scrolling down to the **API key** section. ![API key](https://i.imgur.com/pHXFiI8.png "Getting an API key") # (New in 0.3.0) API Key Shuffling Key shuffling may be used as a fail-safe for keys that run out of requests, effectively giving you +100 requests for each key passed.\ Just pass a list of keys when instantiating your `Search` client.\ Here's a demonstration of this: ```python import async_cse client = async_cse.Search(["API Key 1", "API Key 2", "API Key 3"]) # Multiple keys as a list await client.search("Python") # Uh oh, one of these keys doesn't work! Trying again with another... ``` When `async-cse` detects a non-working key, it will remove it from its internal list and retry the search. %package -n python3-async-cse Summary: API wrapper for the Google Custom Search JSON API. https://developers.google.com/custom-search/v1/overview Provides: python-async-cse BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-async-cse [![CircleCI](https://circleci.com/gh/crrapi/async-cse.svg?style=svg)](https://circleci.com/gh/crrapi/async-cse) [![Build Status](https://travis-ci.org/crrapi/async-cse.png?branch=master)](https://travis-ci.org/crrapi/async-cse) [![Codestyle](https://img.shields.io/badge/code%20style-black-000000.svg)](https://img.shields.io/badge/code%20style-black-000000.svg) [![PyPI version](https://badge.fury.io/py/async-cse.svg)](https://badge.fury.io/py/async-cse) [![Issues](https://img.shields.io/github/issues/crrapi/async-cse.svg?colorB=00FFFF)](https://img.shields.io/github/issues/crrapi/async-cse.svg?colorB=00FFFF) [![LICENSE](https://img.shields.io/pypi/l/async-cse.svg)](https://img.shields.io/pypi/l/async-cse.svg) [![Downloads](https://img.shields.io/pypi/dd/async-cse.svg)](https://img.shields.io/pypi/dd/async-cse.svg) [![Python](https://img.shields.io/pypi/pyversions/async-cse.svg)](https://img.shields.io/pypi/pyversions/async-cse.svg) # async-cse Asyncio API wrapper for the [Google Custom Search JSON API](https://developers.google.com/custom-search/v1/overview). # Installation #### Want stable releases? `pip3 install -U async_cse` #### Living on the edge? Want hotfixes? `pip3 install -U git+https://github.com/crrapi/async-cse` # Usage ```python import async_cse client = async_cse.Search("Your API Key") # create the Search client (uses Google by default!) results = await client.search("Python", safesearch=False) # returns a list of async_cse.Result objects first_result = results[0] # Grab the first result print(first_result.title, first_result.description, first_result.url, first_result.image_url) # Title, snippet, URL, and Image URL (if specified) await client.close() # Run this when cleaning up. ``` # Getting image results To get image results with the default engine, use `image_search=True` when searching, like so: ```python await client.search("Python", safesearch=False, image_search=True) # returns a list of async_cse.Result objects ``` # Custom search engines To use Search objects with a custom search engine, provide the ID of the search engine. ```python async_cse.Search("Your API Key", engine_id="015786823554162166929:mywctwj8es4") ``` # SafeSearch SafeSearch can also be turned off by setting `safesearch=False` when using the `search()` method. # Getting an API key You can get an API key by going [here](https://developers.google.com/custom-search/v1/overview) and scrolling down to the **API key** section. ![API key](https://i.imgur.com/pHXFiI8.png "Getting an API key") # (New in 0.3.0) API Key Shuffling Key shuffling may be used as a fail-safe for keys that run out of requests, effectively giving you +100 requests for each key passed.\ Just pass a list of keys when instantiating your `Search` client.\ Here's a demonstration of this: ```python import async_cse client = async_cse.Search(["API Key 1", "API Key 2", "API Key 3"]) # Multiple keys as a list await client.search("Python") # Uh oh, one of these keys doesn't work! Trying again with another... ``` When `async-cse` detects a non-working key, it will remove it from its internal list and retry the search. %package help Summary: Development documents and examples for async-cse Provides: python3-async-cse-doc %description help [![CircleCI](https://circleci.com/gh/crrapi/async-cse.svg?style=svg)](https://circleci.com/gh/crrapi/async-cse) [![Build Status](https://travis-ci.org/crrapi/async-cse.png?branch=master)](https://travis-ci.org/crrapi/async-cse) [![Codestyle](https://img.shields.io/badge/code%20style-black-000000.svg)](https://img.shields.io/badge/code%20style-black-000000.svg) [![PyPI version](https://badge.fury.io/py/async-cse.svg)](https://badge.fury.io/py/async-cse) [![Issues](https://img.shields.io/github/issues/crrapi/async-cse.svg?colorB=00FFFF)](https://img.shields.io/github/issues/crrapi/async-cse.svg?colorB=00FFFF) [![LICENSE](https://img.shields.io/pypi/l/async-cse.svg)](https://img.shields.io/pypi/l/async-cse.svg) [![Downloads](https://img.shields.io/pypi/dd/async-cse.svg)](https://img.shields.io/pypi/dd/async-cse.svg) [![Python](https://img.shields.io/pypi/pyversions/async-cse.svg)](https://img.shields.io/pypi/pyversions/async-cse.svg) # async-cse Asyncio API wrapper for the [Google Custom Search JSON API](https://developers.google.com/custom-search/v1/overview). # Installation #### Want stable releases? `pip3 install -U async_cse` #### Living on the edge? Want hotfixes? `pip3 install -U git+https://github.com/crrapi/async-cse` # Usage ```python import async_cse client = async_cse.Search("Your API Key") # create the Search client (uses Google by default!) results = await client.search("Python", safesearch=False) # returns a list of async_cse.Result objects first_result = results[0] # Grab the first result print(first_result.title, first_result.description, first_result.url, first_result.image_url) # Title, snippet, URL, and Image URL (if specified) await client.close() # Run this when cleaning up. ``` # Getting image results To get image results with the default engine, use `image_search=True` when searching, like so: ```python await client.search("Python", safesearch=False, image_search=True) # returns a list of async_cse.Result objects ``` # Custom search engines To use Search objects with a custom search engine, provide the ID of the search engine. ```python async_cse.Search("Your API Key", engine_id="015786823554162166929:mywctwj8es4") ``` # SafeSearch SafeSearch can also be turned off by setting `safesearch=False` when using the `search()` method. # Getting an API key You can get an API key by going [here](https://developers.google.com/custom-search/v1/overview) and scrolling down to the **API key** section. ![API key](https://i.imgur.com/pHXFiI8.png "Getting an API key") # (New in 0.3.0) API Key Shuffling Key shuffling may be used as a fail-safe for keys that run out of requests, effectively giving you +100 requests for each key passed.\ Just pass a list of keys when instantiating your `Search` client.\ Here's a demonstration of this: ```python import async_cse client = async_cse.Search(["API Key 1", "API Key 2", "API Key 3"]) # Multiple keys as a list await client.search("Python") # Uh oh, one of these keys doesn't work! Trying again with another... ``` When `async-cse` detects a non-working key, it will remove it from its internal list and retry the search. %prep %autosetup -n async-cse-0.3.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-async-cse -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.3.0-1 - Package Spec generated