| # 2.0.0 Migration Guide | |
| The 2.0 release of `google-api-python-client` includes a substantial reliability | |
| improvement, compared with 1.x, as discovery documents are now cached in the library | |
| rather than fetched dynamically. It is highly recommended to upgrade from v1.x to v2.x. | |
| Only python 3.6 and newer is supported. If you are not able to upgrade python, then | |
| please continue to use version 1.x as we will continue supporting python 2.7+ in | |
| [v1](https://github.com/googleapis/google-api-python-client/tree/v1). | |
| Discovery documents will no longer be retrieved dynamically when | |
| you call `discovery.build()`. The discovery documents will instead be retrieved | |
| from the client library directly. New versions of this library are released weekly. | |
| As a result of caching the discovery documents, the size of this package is at least | |
| 50 MB larger compared to the previous version. | |
| For users of public APIs | |
| ------------------------ | |
| Existing code written for earlier versions of this library will not require | |
| updating. | |
| For users of private APIs | |
| ------------------------- | |
| If the discovery document requires an authentication key to access it then the | |
| discovery document is private and it will not be shipped with the library. | |
| Only discovery documents listed in [this public directory](https://www.googleapis.com/discovery/v1/apis/) | |
| are included in the library. Users of private APIs should set the | |
| `static_discovery` argument of `discovery.build()` to `False` to continue to | |
| retrieve the service definition from the internet. As of version 2.1.0, | |
| for backwards compatibility with version 1.x, if `static_discovery` is not | |
| specified, the default value for `static_discovery` will be `True` when | |
| the `discoveryServiceUrl` argument of `discovery.build()` is provided. | |
| If you experience issues or have questions, please file an [issue](https://github.com/googleapis/google-api-python-client/issues). | |
| ## Supported Python Versions | |
| > **WARNING**: Breaking change | |
| The 2.0.0 release requires Python 3.6+, as such you must upgrade to Python 3.6+ | |
| to use version 2.0.0. | |
| ## Method Calls | |
| **Note**: Existing code written for earlier versions of this library will not | |
| require updating. You should only update your code if you are using an API | |
| which does not have a public discovery document. | |
| > **WARNING**: Breaking change | |
| The 2.0 release no longer retrieves discovery documents dynamically on each | |
| call to `discovery.build()`. Instead, discovery documents are retrieved from | |
| the client library itself. | |
| Under the hood, the `discovery.build()` function retrieves a discovery artifact | |
| in order to construct the service object. The breaking change is that the | |
| `discovery.build()` function will no longer retrieve discovery artifacts | |
| dynamically. Instead it will use service definitions shipped in the library. | |
| **Before:** | |
| ```py | |
| from googleapiclient.discovery import build | |
| # Retrieve discovery artifacts from the internet | |
| with build('drive', 'v3') as service: | |
| # ... | |
| ``` | |
| **After:** | |
| ```py | |
| from googleapiclient.discovery import build | |
| # Retrieve discovery artifacts from the client library | |
| with build('drive', 'v3') as service: | |
| # ... | |
| # Retrieve discovery artifacts from the internet for a private API | |
| with build('drive', 'v3', static_discovery=False, developerKey=XXXXX) as service: | |
| # ... | |
| ``` |