google-ads-python icon indicating copy to clipboard operation
google-ads-python copied to clipboard

Support for proto-plus>=1.19.7

Open kosteev opened this issue 3 years ago • 4 comments

Describe the problem you are trying to solve: Use google-ads in conjunction with other python libraries.

Describe the solution you'd like: Being able to install google-ads latest version together with proto-plus >= 1.19.7 (as it is constraint for some other libraries, e.g. autogenerated google-cloud-datacatalog-lineage which has constraint proto-plus >= 1.19.7)

Additional context: In Cloud Composer we would like to install latest versions of other google libraries like google-cloud-firestore (https://github.com/googleads/google-ads-python/issues/659), google-cloud-datacatalog-lineage, etc., but this is not feasible as google-ads has dependency on old version of proto-plus, and ignoring pip conflicts is not feasible alternative.

It looks like the general concern about adding support for newer versions of proto-plus is that it has performance regression. Is it possible to do performance testing on the fresh versions of this package (https://pypi.org/project/proto-plus/#history) and decide if we can bump constraint to any other >=1.19.7 that doesn't have performance regression? https://github.com/googleads/google-ads-python/blob/9541a751a2c8d8bd7abf97b0d3a9f61e0ebbcb57/setup.py#L28

This is a severe issue right now for Cloud Composer to have google-ads incompatible with other python google libraries of latest versions.

kosteev avatar Jul 05 '22 11:07 kosteev

@bobhancock @BenRKarl I would like to point your attention to this issue as it is severe enough for Cloud Composer team right now.

kosteev avatar Jul 06 '22 09:07 kosteev

@kosteev thanks for pinging on this issue. We did a round of performance testing in around March that indicated that proto-plus versions newer than 1.19.6 were too slow for this library. We're going to go back and dig into those results, and run some more tests with the most recent versions to see what the trade-offs would be today. In the meantime, is it possible to use older versions of google-cloud-firestore and google-cloud-datacatalog-lineage that are compatible with proto-plus 1.19.6?

BenRKarl avatar Jul 21 '22 14:07 BenRKarl

Hi all, quick +1 because we're also facing incompatibility issues. In our case we cannot install google-cloud-pubsub>=2.13.6 because it requires proto-plus >= 1.22.0, <2.0.0dev: https://github.com/googleapis/python-pubsub/blob/main/setup.py

anneadb avatar Aug 15 '22 13:08 anneadb

Thanks @anneadb - we're working on a fix for this that I expect will be part of the next release.

BenRKarl avatar Aug 15 '22 14:08 BenRKarl

hi @BenRKarl, is there an estimate time on the next release date? this is also a blocking for us

moveingsun avatar Aug 17 '22 19:08 moveingsun

Hi all - we just released version 18.1.0, which bumps our dependency on proto-plus to version 1.22.0.

BenRKarl avatar Aug 22 '22 18:08 BenRKarl

Thank you very much!

kosteev avatar Aug 23 '22 12:08 kosteev