Matt Whisenhunt | 3c2c805 | 2018-04-13 10:03:46 -0700 | [diff] [blame] | 1 | # Google API Client |
Dan O'Meara | 9c203d3 | 2017-07-07 09:03:31 -0700 | [diff] [blame] | 2 | |
Sander Brauwers | 729d9ae | 2018-12-13 19:28:04 +0100 | [diff] [blame] | 3 | [](https://badge.fury.io/py/google-api-python-client) |
| 4 | |
Anthonios Partheniou | 22807c9 | 2021-03-15 12:18:03 -0400 | [diff] [blame^] | 5 | This is the [Google API Python client library](https://cloud.google.com/apis/docs/client-libraries-explained#google_api_client_libraries) |
| 6 | for Google's discovery based APIs. To get started, please see the |
| 7 | [docs folder](https://github.com/googleapis/google-api-python-client/blob/master/docs/README.md). |
John Asmuth | 2fefc4c | 2014-04-24 16:13:05 -0400 | [diff] [blame] | 8 | |
Anthonios Partheniou | 22807c9 | 2021-03-15 12:18:03 -0400 | [diff] [blame^] | 9 | This library is considered complete and is in maintenance mode. This means |
| 10 | that we will address critical bugs and security issues but will not add any |
| 11 | new features. |
| 12 | |
| 13 | This library is officially supported by Google. However, the maintainers of |
| 14 | this repository recommend using [Cloud Client Libraries for Python](https://github.com/googleapis/google-cloud-python), |
| 15 | where possible, for new code development. For more information, please visit |
| 16 | [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). |
Matt Whisenhunt | 3c2c805 | 2018-04-13 10:03:46 -0700 | [diff] [blame] | 17 | |
release-please[bot] | a9c7ddc | 2021-03-03 21:52:06 +0000 | [diff] [blame] | 18 | ## Version 2.0 Release |
| 19 | The 2.0 release of `google-api-python-client` is a significant upgrade compared |
Anthonios Partheniou | 8278537 | 2021-03-15 11:52:11 -0400 | [diff] [blame] | 20 | to v1. Please see the [Migration Guide](https://github.com/googleapis/google-api-python-client/blob/master/UPGRADING.md) for more information. |
Anthonios Partheniou | 22807c9 | 2021-03-15 12:18:03 -0400 | [diff] [blame^] | 21 | As a result of caching the discovery documents, the size of this package is at |
| 22 | least 50 MB larger compared to the previous version. |
release-please[bot] | a9c7ddc | 2021-03-03 21:52:06 +0000 | [diff] [blame] | 23 | |
Grant Timmerman | 5c11b0a | 2019-06-26 07:39:48 -0700 | [diff] [blame] | 24 | ## Documentation |
| 25 | |
Anthonios Partheniou | 8278537 | 2021-03-15 11:52:11 -0400 | [diff] [blame] | 26 | See the [docs folder](https://github.com/googleapis/google-api-python-client/blob/master/docs/README.md) for more detailed instructions and additional documentation. |
Grant Timmerman | 5c11b0a | 2019-06-26 07:39:48 -0700 | [diff] [blame] | 27 | |
Kamil Breguła | 4114485 | 2020-03-20 22:42:50 +0100 | [diff] [blame] | 28 | ## Other Google API libraries |
Matt Whisenhunt | 3c2c805 | 2018-04-13 10:03:46 -0700 | [diff] [blame] | 29 | |
Anthonios Partheniou | 22807c9 | 2021-03-15 12:18:03 -0400 | [diff] [blame^] | 30 | The maintainers of this repository recommend using |
| 31 | [Cloud Client Libraries for Python](https://github.com/googleapis/google-cloud-python), |
| 32 | where possible, for new code development due to the following reasons: |
| 33 | |
| 34 | With [Cloud Client Libraries for Python](https://github.com/googleapis/google-cloud-python): |
| 35 | - There is a separate client library for each API, so you can choose |
| 36 | which client libraries to download. Whereas, `google-api-python-client` is a |
| 37 | single client library for all APIs. As a result, the total package size for |
| 38 | `google-api-python-client` exceeds 50MB. |
| 39 | - There are stricter controls for breaking changes to the underlying APIs |
| 40 | as each client library is focused on a specific API. |
| 41 | - There are more features in these Cloud Client Libraries as each library is |
| 42 | focused on a specific API, and in some cases, the libraries are owned by team |
| 43 | who specialized in that API. |
| 44 | - Developers will benefit from intellisense. |
| 45 | |
| 46 | For more information, please visit |
| 47 | [Client Libraries Explained](https://cloud.google.com/apis/docs/client-libraries-explained). |
| 48 | |
| 49 | Although there are many benefits to moving to |
| 50 | [Cloud Client Libraries for Python](https://github.com/googleapis/google-cloud-python), |
| 51 | the maintainers want to emphasize that `google-api-python-client` will continue |
| 52 | to be supported. |
Kamil Breguła | 4c84c2c | 2020-01-27 18:10:19 +0100 | [diff] [blame] | 53 | |
| 54 | For Google Ads API, we recommend using [Google Ads API Client Library for Python](https://github.com/googleads/google-ads-python/). |
Joe Gregorio | 8097e2a | 2011-05-17 11:11:34 -0400 | [diff] [blame] | 55 | |
Kamil Breguła | 4114485 | 2020-03-20 22:42:50 +0100 | [diff] [blame] | 56 | For Google Firebase Admin API, we recommend using [Firebase Admin Python SDK](https://github.com/firebase/firebase-admin-python). |
| 57 | |
Grant Timmerman | 5c11b0a | 2019-06-26 07:39:48 -0700 | [diff] [blame] | 58 | ## Installation |
| 59 | |
Bu Sun Kim | e85af68 | 2019-10-22 13:45:38 -0700 | [diff] [blame] | 60 | Install this library in a [virtualenv](https://virtualenv.pypa.io/en/latest/) using pip. virtualenv is a tool to |
| 61 | create isolated Python environments. The basic problem it addresses is one of |
| 62 | dependencies and versions, and indirectly permissions. |
Joe Gregorio | 46675d2 | 2012-06-20 12:15:24 -0400 | [diff] [blame] | 63 | |
Bu Sun Kim | e85af68 | 2019-10-22 13:45:38 -0700 | [diff] [blame] | 64 | With virtualenv, it's possible to install this library without needing system |
| 65 | install permissions, and without clashing with the installed system |
| 66 | dependencies. |
| 67 | |
| 68 | ### Mac/Linux |
| 69 | |
| 70 | ``` |
| 71 | pip install virtualenv |
| 72 | virtualenv <your-env> |
| 73 | source <your-env>/bin/activate |
| 74 | <your-env>/bin/pip install google-api-python-client |
Michael Mattioli | b2b518f | 2014-07-14 00:48:04 -0400 | [diff] [blame] | 75 | ``` |
Grant Timmerman | 5c11b0a | 2019-06-26 07:39:48 -0700 | [diff] [blame] | 76 | |
Bu Sun Kim | e85af68 | 2019-10-22 13:45:38 -0700 | [diff] [blame] | 77 | ### Windows |
Grant Timmerman | 5c11b0a | 2019-06-26 07:39:48 -0700 | [diff] [blame] | 78 | |
Bu Sun Kim | e85af68 | 2019-10-22 13:45:38 -0700 | [diff] [blame] | 79 | ``` |
| 80 | pip install virtualenv |
| 81 | virtualenv <your-env> |
| 82 | <your-env>\Scripts\activate |
| 83 | <your-env>\Scripts\pip.exe install google-api-python-client |
Michael Mattioli | b2b518f | 2014-07-14 00:48:04 -0400 | [diff] [blame] | 84 | ``` |
Tom Miller | 7c95d81 | 2010-10-11 11:50:52 -0700 | [diff] [blame] | 85 | |
Grant Timmerman | 5c11b0a | 2019-06-26 07:39:48 -0700 | [diff] [blame] | 86 | ## Supported Python Versions |
Joe Gregorio | 48d361f | 2010-08-18 13:19:21 -0400 | [diff] [blame] | 87 | |
Bu Sun Kim | 8325d24 | 2020-12-09 12:04:05 -0700 | [diff] [blame] | 88 | Python 3.6, 3.7, 3.8, and 3.9 are fully supported and tested. This library may work on later versions of 3, but we do not currently run tests against those versions. |
Christopher Wilcox | 8f4a530 | 2018-12-14 12:24:44 -0800 | [diff] [blame] | 89 | |
Bu Sun Kim | 8325d24 | 2020-12-09 12:04:05 -0700 | [diff] [blame] | 90 | ## Unsupported Python Versions |
Grant Timmerman | 5c11b0a | 2019-06-26 07:39:48 -0700 | [diff] [blame] | 91 | |
Bu Sun Kim | 8325d24 | 2020-12-09 12:04:05 -0700 | [diff] [blame] | 92 | Python < 3.6 |
Jay Lee | 9cd0eb0 | 2014-09-12 07:15:11 -0400 | [diff] [blame] | 93 | |
Grant Timmerman | 5c11b0a | 2019-06-26 07:39:48 -0700 | [diff] [blame] | 94 | ## Third Party Libraries and Dependencies |
| 95 | |
Michael Mattioli | b2b518f | 2014-07-14 00:48:04 -0400 | [diff] [blame] | 96 | The following libraries will be installed when you install the client library: |
Luis Nell | 4859b14 | 2016-08-01 18:43:35 +0200 | [diff] [blame] | 97 | * [httplib2](https://github.com/httplib2/httplib2) |
Simon Weber | c952fd0 | 2016-10-13 12:48:44 -0400 | [diff] [blame] | 98 | * [uritemplate](https://github.com/sigmavirus24/uritemplate) |
Joe Gregorio | 8097e2a | 2011-05-17 11:11:34 -0400 | [diff] [blame] | 99 | |
Michael Mattioli | 460a4ad | 2014-08-01 21:37:56 -0400 | [diff] [blame] | 100 | For development you will also need the following libraries: |
andrewnester | 3167781 | 2017-03-31 16:39:30 +0300 | [diff] [blame] | 101 | * [WebTest](http://webtest.pythonpaste.org/en/latest/index.html) |
Michael Mattioli | 460a4ad | 2014-08-01 21:37:56 -0400 | [diff] [blame] | 102 | * [pyopenssl](https://pypi.python.org/pypi/pyOpenSSL) |
Craig Citro | 3f8dc78 | 2014-05-19 15:00:07 -0700 | [diff] [blame] | 103 | |
Grant Timmerman | 5c11b0a | 2019-06-26 07:39:48 -0700 | [diff] [blame] | 104 | ## Contributing |
| 105 | |
Anthonios Partheniou | 8278537 | 2021-03-15 11:52:11 -0400 | [diff] [blame] | 106 | Please see our [Contribution Guide](https://github.com/googleapis/google-api-python-client/blob/master/CONTRIBUTING.rst). |
release-please[bot] | a9c7ddc | 2021-03-03 21:52:06 +0000 | [diff] [blame] | 107 | In particular, we love pull requests - but please make sure to sign |
Dmitry Frenkel | 63f97f3 | 2020-07-09 10:14:02 -0700 | [diff] [blame] | 108 | the contributor license agreement. |