Based on discussion at standup I believe their UGPRADING.md describes the issues we ran into earlier. Note now:
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 False when the discoveryServiceUrl
argument of discovery.build()
is provided.
(This kind of reminds me how Python 3.0 was a backwards compatibility break with Python 2.x, and then Python 3.3 added a lot of features to improve backwards compatibility if not completely restore it.)
So I think when version 2.0 of the library came out, we saw there was a problem, pinned our version at the time, and haven't revisited since. With the change to the default static_discovery
in 2.1, I'm cautiously optimistic our SDK will work without changes again (the rest of the document is emphatic existing code should continue to work). I'm not in a good position to test builds now but will next time I can.
If I'm right: the only remaining caveat is this library only supports Python 3.7. I think we're currently trying to maintain support for Python 3.6? IMO we could probably drop that; Python 3.6 is now EOL. If we want to continue supporting it, we could maintain our current googleapiclient version requirement for Python 3.6, and upgrade to the latest version for later versions of Python.