diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-googlewrapper.spec | 420 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 422 insertions, 0 deletions
@@ -0,0 +1 @@ +/googlewrapper-0.2.11.tar.gz diff --git a/python-googlewrapper.spec b/python-googlewrapper.spec new file mode 100644 index 0000000..a4364bd --- /dev/null +++ b/python-googlewrapper.spec @@ -0,0 +1,420 @@ +%global _empty_manifest_terminate_build 0 +Name: python-googlewrapper +Version: 0.2.11 +Release: 1 +Summary: Simple API wrapper for Google Products +License: MIT +URL: https://github.com/jaceiverson/googlewrapper +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a5/a1/e8674ccac89dbc930b7ef837277325a080e3e79c12c3418d75a76eea1ee9/googlewrapper-0.2.11.tar.gz +BuildArch: noarch + +Requires: python3-google-api-python-client +Requires: python3-oauth2client +Requires: python3-pandas +Requires: python3-pygsheets +Requires: python3-google-cloud-bigquery +Requires: python3-pandas-gbq +Requires: python3-pdcompare +Requires: python3-pytest +Requires: python3-pytest-cov +Requires: python3-mypy +Requires: python3-flake8 +Requires: python3-tox + +%description +# googlewrapper + +[](https://pypi.org/project/googlewrapper/) +[](https://github.com/psf/black) + + +General Connector Classes for Google Products + +__Current Wrappers Available__ + + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Analytics.md>Google Analytics</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Search%20Console.md>Google Search Console</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Calendar.md>Google Calendar</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Big%20Query.md>Google Big Query</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Pagespeed%20Insights.md>Google PageSpeed API</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Sheets.md>Google Sheets</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Docs.md>Google Docs</a> + +_Wrappers In the Pipeline_ +- <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Gmail.md>Gmail</a> +- Google Maps + +# STEPS + 1) <a href=https://github.com/jaceiverson/googlewrapper#Acquire-Google-Credentials-from-API-Console>Acquire Google Credentials from API Console</a> + 2) <a href=https://github.com/jaceiverson/googlewrapper#installation>Install this package</a> + 3) <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Authentication.md>Create Connection in Python</a> + 4) Use product wrapper to make API calls (see links to individual docs above) + +## Acquire Google Credentials from API Console +First we will need to get our own Google Project set up so we can get our credentials. If you don't have experience, you can do so here <a href=https://console.cloud.google.com/apis/dashboard>Google API Console</a> + +After you have your project set up, oAuth configured, and the optional service account (only for Google Big Query connections), you are good to install this package. + +Make sure to download your oAuth credentials and save them to your working directory as 'client_secret.json'. + +## Installation +``` +pip install googlewrapper +``` +OR +``` +python -m pip install googlewrapper +``` + +### Virtual Environment +For each project it is reccomended to create a virtualenv. Here is a <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/VirtualEnv.md>simple guide</a> on virtual environments. + +## Combining Products Examples +### Example 1 +> Take a list of URLs from Sheets, grab Search Console Data, and import it into Big Query. + +```py +from googlewrapper import GoogleSearchConsole, GoogleSheets, GoogleBigQuery +import datetime as dt + +# init our objects +sheets = GoogleSheets(YOUR_URL_HERE) +gsc = GoogleSearchConsole() +gbq = GoogleBigQuery() + +# get our urls we want to pull +# remember that sheet1 is default +sites = sheets.get_column(1) + +''' +this one is a bit more technical +we can pull our column Branded Words right +from sheets then assign it to a dictionary to use +in our GSC object. + +Make sure that your url column is the index for +your df. This will happen by default if the urls +are in the first column in google sheets +''' +branded_list = sheets.df()['Branded Words'].to_dict() + +# assign those sheets to GSC +gsc.set_sites(sites) +# assign other GSC variables +gsc.set_date(dt.date(2021,1,1)) +gsc.set_dims(['page','date','query']) + +# get our data +gsc_data = gsc.get_data() + +# print the total clicks/impressions and avg position +# for all the sites we just pulled data for +# send them to Big Query +for site in gsc_data: + print(f"{site}'s Data\n"\ + f"Clicks: {gsc_data[site]['Clicks'].sum()}\n"\ + f"Impressions: {gsc_data[site]['Impressions'].sum()}\n"\ + f"Avg Position: {gsc_data[site]['Position'].mean()}\n\n") + # now we will send our data into our GBQ tables for storage + # we will assign the dataset name to be our url + # we will assign table to be gsc + gbq.set_dataset(site) + gbq.set_table('gsc') + # send the data to GBQ + gbq.send(gsc_data[site]) +``` + +## Pull Requests/Suggestions +I'd love to hear your feedback and suggestions. If you see something and you want to give it a shot and fix it, feel free to clone and make a pull request. OR you can submit and issue/feature request on GitHub. + +## Thanks for using my code +<p align="center"> +If you found this library useful, I'd appreciate a coffee. Thanks. +<br> +<br> +<a href="https://www.buymeacoffee.com/jaceiverson" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: auto !important;width: auto !important;" ></a> +</p> + + +%package -n python3-googlewrapper +Summary: Simple API wrapper for Google Products +Provides: python-googlewrapper +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-googlewrapper +# googlewrapper + +[](https://pypi.org/project/googlewrapper/) +[](https://github.com/psf/black) + + +General Connector Classes for Google Products + +__Current Wrappers Available__ + + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Analytics.md>Google Analytics</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Search%20Console.md>Google Search Console</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Calendar.md>Google Calendar</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Big%20Query.md>Google Big Query</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Pagespeed%20Insights.md>Google PageSpeed API</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Sheets.md>Google Sheets</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Docs.md>Google Docs</a> + +_Wrappers In the Pipeline_ +- <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Gmail.md>Gmail</a> +- Google Maps + +# STEPS + 1) <a href=https://github.com/jaceiverson/googlewrapper#Acquire-Google-Credentials-from-API-Console>Acquire Google Credentials from API Console</a> + 2) <a href=https://github.com/jaceiverson/googlewrapper#installation>Install this package</a> + 3) <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Authentication.md>Create Connection in Python</a> + 4) Use product wrapper to make API calls (see links to individual docs above) + +## Acquire Google Credentials from API Console +First we will need to get our own Google Project set up so we can get our credentials. If you don't have experience, you can do so here <a href=https://console.cloud.google.com/apis/dashboard>Google API Console</a> + +After you have your project set up, oAuth configured, and the optional service account (only for Google Big Query connections), you are good to install this package. + +Make sure to download your oAuth credentials and save them to your working directory as 'client_secret.json'. + +## Installation +``` +pip install googlewrapper +``` +OR +``` +python -m pip install googlewrapper +``` + +### Virtual Environment +For each project it is reccomended to create a virtualenv. Here is a <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/VirtualEnv.md>simple guide</a> on virtual environments. + +## Combining Products Examples +### Example 1 +> Take a list of URLs from Sheets, grab Search Console Data, and import it into Big Query. + +```py +from googlewrapper import GoogleSearchConsole, GoogleSheets, GoogleBigQuery +import datetime as dt + +# init our objects +sheets = GoogleSheets(YOUR_URL_HERE) +gsc = GoogleSearchConsole() +gbq = GoogleBigQuery() + +# get our urls we want to pull +# remember that sheet1 is default +sites = sheets.get_column(1) + +''' +this one is a bit more technical +we can pull our column Branded Words right +from sheets then assign it to a dictionary to use +in our GSC object. + +Make sure that your url column is the index for +your df. This will happen by default if the urls +are in the first column in google sheets +''' +branded_list = sheets.df()['Branded Words'].to_dict() + +# assign those sheets to GSC +gsc.set_sites(sites) +# assign other GSC variables +gsc.set_date(dt.date(2021,1,1)) +gsc.set_dims(['page','date','query']) + +# get our data +gsc_data = gsc.get_data() + +# print the total clicks/impressions and avg position +# for all the sites we just pulled data for +# send them to Big Query +for site in gsc_data: + print(f"{site}'s Data\n"\ + f"Clicks: {gsc_data[site]['Clicks'].sum()}\n"\ + f"Impressions: {gsc_data[site]['Impressions'].sum()}\n"\ + f"Avg Position: {gsc_data[site]['Position'].mean()}\n\n") + # now we will send our data into our GBQ tables for storage + # we will assign the dataset name to be our url + # we will assign table to be gsc + gbq.set_dataset(site) + gbq.set_table('gsc') + # send the data to GBQ + gbq.send(gsc_data[site]) +``` + +## Pull Requests/Suggestions +I'd love to hear your feedback and suggestions. If you see something and you want to give it a shot and fix it, feel free to clone and make a pull request. OR you can submit and issue/feature request on GitHub. + +## Thanks for using my code +<p align="center"> +If you found this library useful, I'd appreciate a coffee. Thanks. +<br> +<br> +<a href="https://www.buymeacoffee.com/jaceiverson" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: auto !important;width: auto !important;" ></a> +</p> + + +%package help +Summary: Development documents and examples for googlewrapper +Provides: python3-googlewrapper-doc +%description help +# googlewrapper + +[](https://pypi.org/project/googlewrapper/) +[](https://github.com/psf/black) + + +General Connector Classes for Google Products + +__Current Wrappers Available__ + + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Analytics.md>Google Analytics</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Search%20Console.md>Google Search Console</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Calendar.md>Google Calendar</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Big%20Query.md>Google Big Query</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Pagespeed%20Insights.md>Google PageSpeed API</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Sheets.md>Google Sheets</a> + - <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Docs.md>Google Docs</a> + +_Wrappers In the Pipeline_ +- <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Gmail.md>Gmail</a> +- Google Maps + +# STEPS + 1) <a href=https://github.com/jaceiverson/googlewrapper#Acquire-Google-Credentials-from-API-Console>Acquire Google Credentials from API Console</a> + 2) <a href=https://github.com/jaceiverson/googlewrapper#installation>Install this package</a> + 3) <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/Google%20Authentication.md>Create Connection in Python</a> + 4) Use product wrapper to make API calls (see links to individual docs above) + +## Acquire Google Credentials from API Console +First we will need to get our own Google Project set up so we can get our credentials. If you don't have experience, you can do so here <a href=https://console.cloud.google.com/apis/dashboard>Google API Console</a> + +After you have your project set up, oAuth configured, and the optional service account (only for Google Big Query connections), you are good to install this package. + +Make sure to download your oAuth credentials and save them to your working directory as 'client_secret.json'. + +## Installation +``` +pip install googlewrapper +``` +OR +``` +python -m pip install googlewrapper +``` + +### Virtual Environment +For each project it is reccomended to create a virtualenv. Here is a <a href=https://github.com/jaceiverson/googlewrapper/blob/master/documentation/VirtualEnv.md>simple guide</a> on virtual environments. + +## Combining Products Examples +### Example 1 +> Take a list of URLs from Sheets, grab Search Console Data, and import it into Big Query. + +```py +from googlewrapper import GoogleSearchConsole, GoogleSheets, GoogleBigQuery +import datetime as dt + +# init our objects +sheets = GoogleSheets(YOUR_URL_HERE) +gsc = GoogleSearchConsole() +gbq = GoogleBigQuery() + +# get our urls we want to pull +# remember that sheet1 is default +sites = sheets.get_column(1) + +''' +this one is a bit more technical +we can pull our column Branded Words right +from sheets then assign it to a dictionary to use +in our GSC object. + +Make sure that your url column is the index for +your df. This will happen by default if the urls +are in the first column in google sheets +''' +branded_list = sheets.df()['Branded Words'].to_dict() + +# assign those sheets to GSC +gsc.set_sites(sites) +# assign other GSC variables +gsc.set_date(dt.date(2021,1,1)) +gsc.set_dims(['page','date','query']) + +# get our data +gsc_data = gsc.get_data() + +# print the total clicks/impressions and avg position +# for all the sites we just pulled data for +# send them to Big Query +for site in gsc_data: + print(f"{site}'s Data\n"\ + f"Clicks: {gsc_data[site]['Clicks'].sum()}\n"\ + f"Impressions: {gsc_data[site]['Impressions'].sum()}\n"\ + f"Avg Position: {gsc_data[site]['Position'].mean()}\n\n") + # now we will send our data into our GBQ tables for storage + # we will assign the dataset name to be our url + # we will assign table to be gsc + gbq.set_dataset(site) + gbq.set_table('gsc') + # send the data to GBQ + gbq.send(gsc_data[site]) +``` + +## Pull Requests/Suggestions +I'd love to hear your feedback and suggestions. If you see something and you want to give it a shot and fix it, feel free to clone and make a pull request. OR you can submit and issue/feature request on GitHub. + +## Thanks for using my code +<p align="center"> +If you found this library useful, I'd appreciate a coffee. Thanks. +<br> +<br> +<a href="https://www.buymeacoffee.com/jaceiverson" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: auto !important;width: auto !important;" ></a> +</p> + + +%prep +%autosetup -n googlewrapper-0.2.11 + +%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-googlewrapper -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.11-1 +- Package Spec generated @@ -0,0 +1 @@ +8f5bde76342d2462bb22f90d966fcc1d googlewrapper-0.2.11.tar.gz |