{ "info": { "author": "Rakesh Gunduka", "author_email": "rakesh.gunduka@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "# Gaapi 0.1.5\n\nA light weight python wrapper for [Google's Analytics Reporting API v4](https://developers.google.com/analytics/devguides/reporting/core/v4/) written upon [Google's API Python Client](https://github.com/google/google-api-python-client).\n\n# Features provided by Gaapi\n- Analytics focussed library to handle reporting api.\n- Pythonic style usage.\n- Enables you to cache your response data.\n- Enables you to get simplified response data. (TO-DO)\n\n# Installation\nTo install, simply use `pip` or `easy_install`:\n\n```bash\n$ pip install --upgrade gaapi\n```\nor\n```bash\n$ easy_install --upgrade gaapi\n```\n\n# Acquire Google credentials\n\n**1. To create a Service Account Credentials, follow the below link**\n\nhttps://support.google.com/a/answer/7378726?hl=en\n\n**2. Get view ID in Google Analytics, follow the below link**\n\nhttps://keyword-hero.com/documentation/finding-your-view-id-in-google-analytics\n\n------------\n\n# Get Started\n#### Instanstiate GA Client\n\n from gaapi import Client\n\n GA_SERVICE_ACCOUNT_CREDENTIALS = {\n \"type\": \"service_account\",\n \"project_id\": \"analytics-xyz\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"-----BEGIN PRIVATE KEY-----ASADASDONWQENLKQWEIL\\nASDASDOILWQE\",\n \"client_email\": \"username@analytics-xyz.iam.gserviceaccount.com\",\n \"client_id\": \"103486406559549721528\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://accounts.google.com/o/oauth2/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/username@analytics-xyz.iam.gserviceaccount.com\"\n }\n GA_VIEW_ID = '12345567890'\n\n\n ga = Client(\n credentials=GA_SERVICE_ACCOUNT_CREDENTIALS,\n view_id=GA_VIEW_ID\n )\n\n### Generate Query\n\n\n#### Gaapi format\n\n query = ga.query.date_ranges(\n start_date='2018-07-03', end_date='today'\n ).metrics(\n expression='ga:users'\n ).dimensions(\n name='ga:pagePath'\n ).dimensions(\n name='ga:eventLabel'\n ).dimension_filter_clauses(\n filters=[{\n \"dimension_name\": \"ga:pagePath\",\n \"operator\": \"REGEXP\",\n \"expressions\": \".*something.*\"\n }],\n )\n\n # Clone query (Only for Gaapi format)\n # Add `clean=True` to reset a value in the query (say for date_ranges)\n cloned_query = ga.query.clone(query).date_ranges(\n start_date='2018-08-01', end_date='today', clean=True\n )\n\n # Read query\n print(query.json())\n\n\n#### Python Dictionary format\n query = {\n 'date_ranges': {\n 'start_date': '2018-07-03',\n 'end_date': 'today'\n },\n 'metrics': [\n {'expression': 'ga:users'}\n ],\n 'dimensions': [\n {'name': 'ga:pagePath'}\n ],\n 'dimension_filter_clauses': [{\n \"filters\": [{\n \"dimension_name\": \"ga:pagePath\",\n \"operator\": \"REGEXP\",\n \"expressions\": \"\\/.*something\\/.*\"\n }]\n }]\n }\n\n#### Google's original query format\n query = {\n 'dateRanges': {\n 'startDate': '2018-07-03',\n 'endDate': 'today'\n },\n 'metrics': [\n {'expression': 'ga:users'}\n ],\n 'dimensions': [\n {'name': 'ga:pagePath'}\n ],\n 'dimensionFilterClauses': [{\n \"filters\": [{\n \"dimensionName\": \"ga:pagePath\",\n \"operator\": \"REGEXP\",\n \"expressions\": \"\\/.*something\\/.*\"\n }]\n }]\n }\n\n\n\n#### Request Data\n\n # Using gaapi query or python dictionary or json\n response = ga.batch_get(query)\n\n # Cache for 600ms\n response = ga.batch_get(query, cache_ttl=600)\n\n------\n\n## Third Party Libraries and Dependencies\nThe following libraries will be installed when you install the client library:\n* [google-api-python-client](https://github.com/google/google-api-python-client) (Google Client Library)\n* [google-auth](https://github.com/GoogleCloudPlatform/google-auth-library-python/) (Google Auth Library)\n* [walrus](https://github.com/coleifer/walrus) (Light weight Caching Library)\n\n## To-Dos\n- Response Object Manipulation. (This update will enable to you to generate response in Google Raw Response, Simplified Response, CSV, Panda Dataframe).\n- Test cases.\n\n## Contribute\n1. Look for an open [issue](https://github.com/rakeshgunduka/gaapi/issues) or create new issue to get a dialog going about the new feature or bug that you've discovered.\n2. Fork the [repository](https://github.com/rakeshgunduka/gaapi) on Github to start making your changes to the master branch (or branch off of it).\n3. Write a test which shows that the bug was fixed or that the feature works as expected.\n4. Make a pull request.\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/rakeshgunduka/gaapi/", "keywords": "google analytics api client", "license": "http://www.opensource.org/licenses/mit-license.php", "maintainer": "", "maintainer_email": "", "name": "gaapi", "package_url": "https://pypi.org/project/gaapi/", "platform": "", "project_url": "https://pypi.org/project/gaapi/", "project_urls": { "Homepage": "http://github.com/rakeshgunduka/gaapi/" }, "release_url": "https://pypi.org/project/gaapi/0.1.5/", "requires_dist": [ "google-api-python-client", "google-auth", "walrus" ], "requires_python": "", "summary": "A light weight python wrapper for Google's Analytics Reporting API v4 written upon Google API Python Client.", "version": "0.1.5" }, "last_serial": 5148753, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "e4a9a091baf6a1133004ecbd6eedaec9", "sha256": "4e2cb271975bc791578f1b53b811e187c999cd0bb738e16ca05a3de0a77f1613" }, "downloads": -1, "filename": "gaapi-0.1.0-py3.5.egg", "has_sig": false, "md5_digest": "e4a9a091baf6a1133004ecbd6eedaec9", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 4699, "upload_time": "2019-01-03T07:16:31", "url": "https://files.pythonhosted.org/packages/9f/c3/538bad4ee301062d6d10aea8fac22eeb0dbd26291e5bb4d1c6f02d379e11/gaapi-0.1.0-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "8c8ea7491ecdc592013277ccd2e48903", "sha256": "70a4201581807db0c3fc8befdd797682f75fadd6957c392475b9a57e9cb6dc02" }, "downloads": -1, "filename": "gaapi-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8c8ea7491ecdc592013277ccd2e48903", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4080, "upload_time": "2018-08-15T11:39:35", "url": "https://files.pythonhosted.org/packages/34/ea/f865f12b8baf33b49f0856fff0cf6bd1141205a1293ad9df280c10238931/gaapi-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e9b4262531528d5382f5b499df74b9aa", "sha256": "b5268a31fb384464ddca3baf7dcba188bfcd54ec5c92b43277f9b16a56544560" }, "downloads": -1, "filename": "gaapi-0.1.1-py3.5.egg", "has_sig": false, "md5_digest": "e9b4262531528d5382f5b499df74b9aa", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 4681, "upload_time": "2019-01-03T07:16:34", "url": "https://files.pythonhosted.org/packages/ba/5b/2a4ccdc2b21718ceadc53dd3c02270020c7f6b2152aac4f7f109b1e9c8bd/gaapi-0.1.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "d04f83cc77457ff6f04e4da192fb3907", "sha256": "e9bed6415373eb399fd6026f580c0d9c3076d206e68c0477001c1d6d9c7faa3a" }, "downloads": -1, "filename": "gaapi-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d04f83cc77457ff6f04e4da192fb3907", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4118, "upload_time": "2018-08-17T07:34:54", "url": "https://files.pythonhosted.org/packages/93/5c/22902ce4d71c2b263cc8526d061599245a5355d807a2d502ad46f63323ab/gaapi-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "7e3ac15b76a4504898328f8664ad66cc", "sha256": "3e6f3835f0a775e2155d4cf01e9128afec845a7443fcde3828ceb2c172db92c6" }, "downloads": -1, "filename": "gaapi-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7e3ac15b76a4504898328f8664ad66cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4136, "upload_time": "2018-09-04T18:25:37", "url": "https://files.pythonhosted.org/packages/47/0d/a1de9701c4cbd2059347d37cee121d80fe1dd35aa31d84f02b00de5dc059/gaapi-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "cce4b35c3a5e4af3b9c18b29a83849f5", "sha256": "c91bd2820d009fecc830620d8303d8b435e1eb723da5e9c21cbc66f26c9a32db" }, "downloads": -1, "filename": "gaapi-0.1.3-py3.5.egg", "has_sig": false, "md5_digest": "cce4b35c3a5e4af3b9c18b29a83849f5", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 4683, "upload_time": "2019-01-03T07:16:37", "url": "https://files.pythonhosted.org/packages/21/c1/e345bbc1812318bc0ee41aa3280aa9ee0a829ab7027101dfa789caca00e4/gaapi-0.1.3-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "5b83f578bf1d0749650aeb85803fd517", "sha256": "867016fe0132368eacd43061549ccfa002c26c26301b55b73804083bc4d21f9f" }, "downloads": -1, "filename": "gaapi-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5b83f578bf1d0749650aeb85803fd517", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5342, "upload_time": "2018-12-03T12:18:01", "url": "https://files.pythonhosted.org/packages/72/e6/6c26c24af99aa0477575880e1f4e2af3f447d1ef3147c062dee43719f1fd/gaapi-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "17c15562a525bf7ae2f51ae52e921872", "sha256": "d310ea3e4671f638b6138236b1e8b815d85d38fb534bf176d5b418a06e914dac" }, "downloads": -1, "filename": "gaapi-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "17c15562a525bf7ae2f51ae52e921872", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2167, "upload_time": "2019-01-03T07:16:29", "url": "https://files.pythonhosted.org/packages/cf/9e/121667f92d8c3ca5e705b5eeab8ca1f04afb112b09ef3dfc6a4e0806248a/gaapi-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "35d48176340847ac6a8502dc412c6125", "sha256": "b76fd68c2a2bb3051d97a8f7e9238777a0c9e277089b13564e170566f2864c5e" }, "downloads": -1, "filename": "gaapi-0.1.4.tar.gz", "has_sig": false, "md5_digest": "35d48176340847ac6a8502dc412c6125", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5201, "upload_time": "2019-01-03T07:16:40", "url": "https://files.pythonhosted.org/packages/90/95/d09e9321a7d50b7b51017e7116e23ad408105cda09cbd1043c8d5f90365a/gaapi-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "1346eb0f63c03a473aad2c2f007dd210", "sha256": "25c2d4596b6474a93ea23346ebfc9fb0b57a996ae81963539bea04d634916cc8" }, "downloads": -1, "filename": "gaapi-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "1346eb0f63c03a473aad2c2f007dd210", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5160, "upload_time": "2019-04-16T08:19:25", "url": "https://files.pythonhosted.org/packages/84/c2/7873452161125fd5b684feef2a6f54a5c033e3f2496073e1ff3eb25312c3/gaapi-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f5ddceae858ec2acc47d3eec9d543fe", "sha256": "40b69a428f0ef3028f685085fba8cc5bfd98a622727161cada954dfa308832e7" }, "downloads": -1, "filename": "gaapi-0.1.5.tar.gz", "has_sig": false, "md5_digest": "6f5ddceae858ec2acc47d3eec9d543fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4624, "upload_time": "2019-04-16T08:19:26", "url": "https://files.pythonhosted.org/packages/02/a1/0bfabf887d8e6b09daf196ef083f5366551493d9a0828cb64233e0718a7d/gaapi-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1346eb0f63c03a473aad2c2f007dd210", "sha256": "25c2d4596b6474a93ea23346ebfc9fb0b57a996ae81963539bea04d634916cc8" }, "downloads": -1, "filename": "gaapi-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "1346eb0f63c03a473aad2c2f007dd210", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5160, "upload_time": "2019-04-16T08:19:25", "url": "https://files.pythonhosted.org/packages/84/c2/7873452161125fd5b684feef2a6f54a5c033e3f2496073e1ff3eb25312c3/gaapi-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f5ddceae858ec2acc47d3eec9d543fe", "sha256": "40b69a428f0ef3028f685085fba8cc5bfd98a622727161cada954dfa308832e7" }, "downloads": -1, "filename": "gaapi-0.1.5.tar.gz", "has_sig": false, "md5_digest": "6f5ddceae858ec2acc47d3eec9d543fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4624, "upload_time": "2019-04-16T08:19:26", "url": "https://files.pythonhosted.org/packages/02/a1/0bfabf887d8e6b09daf196ef083f5366551493d9a0828cb64233e0718a7d/gaapi-0.1.5.tar.gz" } ] }