FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Remove gRPC/GAX conditional checks. by dhermes · Pull Request #2308 · googleapis/google-cloud-python · GitHub

Remove gRPC/GAX conditional checks. - #2308

Merged
dhermes merged 1 commit into
googleapis:masterfrom
dhermes:followup-2304
Sep 15, 2016
Merged

Remove gRPC/GAX conditional checks.#2308
dhermes merged 1 commit into
googleapis:masterfrom
dhermes:followup-2304

Conversation

dhermes commented Sep 12, 2016
edited
Loading

Copy link
Copy Markdown
Contributor

Adding support for an environment variable that App Engine users can use to disable installing gRPC packages into their application.

Follow-up to #2304.

@jonparrott Can you weigh in here on the GAE env. var. in setup.py?

googlebot added the cla: yes This human has signed the Contributor License Agreement. label Sep 12, 2016

dhermes commented Sep 12, 2016

Copy link
Copy Markdown
Contributor Author

Copy link
Copy Markdown
Contributor

What's prompting this change? This is essentially switching to grpc as a hard requirement for this library.

@omaray should probably chime in, too.

dhermes commented Sep 13, 2016

Copy link
Copy Markdown
Contributor Author

@jonparrott I touched an old part in #2304 that sparked the discussion. gRPC is already a hard requirement in Python 2.7.

Very soon it won't be in google-cloud, it'll be in google-cloud-bigtable, google-cloud-pubsub, etc. so it's not that worrisome.

I just wanted your input on the env. var. to shut it down.

Copy link
Copy Markdown
Contributor

Any dynamic behavior in setup.py will force you to stop providing wheels
(for py2.7 in this case, at least).

Otherwise whatever. App engine standard really just needs to add grpc
support and we probably need to write a custom script to handle installing
this package properly.

On Mon, Sep 12, 2016, 6:33 PM Danny Hermes notifications@github.com wrote:

@jonparrott https://github.com/jonparrott I touched an old part in #2304
#2304
that sparked the discussion. gRPC is already a hard requirement in Python
2.7.

Very soon it won't be in google-cloud, it'll be in google-cloud-bigtable,
google-cloud-pubsub, etc. so it's not that worrisome.

I just wanted your input on the env. var. to shut it down.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#2308 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPUcy8F66KFoXSbUqCRz2k-L_KfWWjiks5qpf17gaJpZM4J7G6R
.

dhermes commented Sep 13, 2016

Copy link
Copy Markdown
Contributor Author

force you to stop providing wheels

How so?

Copy link
Copy Markdown
Contributor

Wheels don't run setup.py at all.

On Mon, Sep 12, 2016, 6:40 PM Danny Hermes notifications@github.com wrote:

force you to stop providing wheels

How so?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#2308 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPUc76mbcgxFFGX-B3jZZqpJGrAs5Geks5qpf7_gaJpZM4J7G6R
.

dhermes commented Sep 13, 2016
edited
Loading

Copy link
Copy Markdown
Contributor Author

@jonparrott So your concern is that setup.py wouldn't be invoked by someone trying to install into a GAE environment?


Worth noting: I canceled the travis-ci/push check since it came from creating a branch. Though in reality I only created the branch for the AppVeyor check.

Copy link
Copy Markdown
Contributor

@dhermes exactly

dhermes commented Sep 13, 2016

Copy link
Copy Markdown
Contributor Author

But for the purposes of you writing docs, couldn't you include --no-use-wheel or --no-binary?

This discussion may become moot when we make each service it's own package? But for services like pubsub and logging, gRPC should be the default unless it can't be, so we'll probably add gRPC as a dependency in google-cloud-pubsub, etc.

Any suggestions for how to play nice with everyone (GAE, using wheels, etc.)?

Copy link
Copy Markdown
Contributor

Just be sure to publish an sdist as well as a wheel for now. I really have no idea what our strategy is going to be for standard.

dhermes commented Sep 13, 2016

Copy link
Copy Markdown
Contributor Author

@jonparrott SGTM, I'll tear out the env. var. and we can punt for now.

dhermes commented Sep 13, 2016

Copy link
Copy Markdown
Contributor Author

I deleted the branch and AppVeyor didn't trigger on my new push w/o the GAE env. var.

https://ci.appveyor.com/project/GoogleCloudPlatform/google-cloud-python/build/1.0.664.followup-2304 still a good indicator that the changes work on Windows

dhermes commented Sep 13, 2016

Copy link
Copy Markdown
Contributor Author

@tseaver PTAL

Comment thread setup.py

if sys.version_info[:2] == (2, 7) and 'READTHEDOCS' not in os.environ:
REQUIREMENTS.extend(GRPC_EXTRAS)
RTD_ENV_VAR = 'READTHEDOCS'

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

tseaver commented Sep 13, 2016

Copy link
Copy Markdown
Contributor

I'm confused: aren't we losing our can't-install-gRPC fallback here?

dhermes commented Sep 13, 2016

Copy link
Copy Markdown
Contributor Author

@tseaver What is our "our can't-install-gRPC fallback"?

tseaver commented Sep 13, 2016

Copy link
Copy Markdown
Contributor

@dhermes Until this PR, installing gcloud-python without also installing gcloud-python[grpc] still allows use of all of the APIs except Bigtable. On platforms where those extras cannot be installed for some reason, the library is still useful: even Dubsub, Datastore, and Logging fall back to using HTTP.

With this change, users who cannot install grpcio and the GAX wrappers will no longer be able to install the library. GAE is the obvious case, but maybe users on older LTS releases will have the same issues.

dhermes commented Sep 13, 2016

Copy link
Copy Markdown
Contributor Author

@tseaver

  1. That's already not true on 2.7 (i.e. if they are on 2.7 we always add the gRPC deps, it is this way because Python 3 install was b0rked at the time)
  2. Once we move to google-cloud-* packages, users can opt in to the packages they want, some of which will have gRPC and some which won't. Though for packages with a fallback, we still have to solve this problem.

dhermes commented Sep 15, 2016

Copy link
Copy Markdown
Contributor Author

@tseaver Bump.

tseaver commented Sep 15, 2016

Copy link
Copy Markdown
Contributor

LGTM. I'll let @jonparrott deal with the pitchfork-wielding GAE mob, then. :)

dhermes merged commit 6f09ebd into googleapis:master Sep 15, 2016
dhermes deleted the followup-2304 branch September 15, 2016 16:22
dhermes mentioned this pull request Sep 19, 2016
parthea pushed a commit that referenced this pull request Nov 24, 2025
Co-authored-by: Victor Chudnovsky <vchudnov@google.com>
parthea pushed a commit that referenced this pull request Mar 2, 2026
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: v0.7.0
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:c8612d3fffb3f6a32353b2d1abd16b61e87811866f7ec9d65b59b02eb452a620
<details><summary>google-cloud-bigquery: 3.39.0</summary>

##
[3.39.0](googleapis/python-bigquery@v3.38.0...v3.39.0)
(2025-12-12)

### Features

* adds support for Python runtime 3.14 (#2322)
([6065e14c](googleapis/python-bigquery@6065e14c))

* Add ExternalRuntimeOptions to BigQuery routine (#2311)
([fa76e310](googleapis/python-bigquery@fa76e310))

### Bug Fixes

* remove ambiguous error codes from query retries (#2308)
([8bbd3d01](googleapis/python-bigquery@8bbd3d01))

* include `io.Base` in the `PathType` (#2323)
([b11e09cb](googleapis/python-bigquery@b11e09cb))

* honor custom `retry` in `job.result()` (#2302)
([e118b029](googleapis/python-bigquery@e118b029))

### Documentation

* remove experimental annotations from GA features (#2303)
([1f1f9d41](googleapis/python-bigquery@1f1f9d41))

</details>

Co-authored-by: Daniel Sanche <d.sanche14@gmail.com>
parthea pushed a commit that referenced this pull request Mar 6, 2026
Context: internal issue b/445984807 comment 10.
parthea pushed a commit that referenced this pull request Apr 1, 2026
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: v0.7.0
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:c8612d3fffb3f6a32353b2d1abd16b61e87811866f7ec9d65b59b02eb452a620
<details><summary>bigframes: 2.30.0</summary>

##
[2.30.0](google/bigframes@v2.29.0...v2.30.0)
(2025-12-03)

### Features

* Support mixed scalar-analytic expressions (#2239)
([20ab469d](google/bigframes@20ab469d))

* Allow drop_duplicates over unordered dataframe (#2303)
([52665fa5](google/bigframes@52665fa5))

* Preserve source names better for more readable sql (#2243)
([64995d65](google/bigframes@64995d65))

* use end user credentials for `bigframes.bigquery.ai` functions when
`connection_id` is not present (#2272)
([7c062a68](google/bigframes@7c062a68))

* pivot_table supports fill_value arg (#2257)
([8f490e68](google/bigframes@8f490e68))

* Support builtins funcs for df.agg (#2256)
([956a5b00](google/bigframes@956a5b00))

* add bigquery.json_keys (#2286)
([b487cf1f](google/bigframes@b487cf1f))

* Add agg/aggregate methods to windows (#2288)
([c4cb39dc](google/bigframes@c4cb39dc))

* Add bigframes.pandas.crosstab (#2231)
([c62e5535](google/bigframes@c62e5535))

* Implement single-column sorting for interactive table widget (#2255)
([d1ecc61b](google/bigframes@d1ecc61b))

### Bug Fixes

* Pass credentials properly for read api instantiation (#2280)
([3e3fe259](google/bigframes@3e3fe259))

* Update max_instances default to reflect actual value (#2302)
([4489687e](google/bigframes@4489687e))

* Improve Anywidget pagination and display for unknown row counts
(#2258)
([508deae5](google/bigframes@508deae5))

* Fix issue with stream upload batch size upload limit (#2290)
([6cdf64b0](google/bigframes@6cdf64b0))

* calling info() on empty dataframes no longer leads to errors (#2267)
([95a83f77](google/bigframes@95a83f77))

* do not warn with DefaultIndexWarning in partial ordering mode (#2230)
([cc2dbae6](google/bigframes@cc2dbae6))

### Documentation

* update docs and tests for Gemini 2.5 models (#2279)
([08c0c0c8](google/bigframes@08c0c0c8))

* Add Google Analytics configuration to conf.py (#2301)
([0b266da1](google/bigframes@0b266da1))

* fix LogisticRegression docs rendering (#2295)
([32e53134](google/bigframes@32e53134))

* update API reference to new `dataframes.bigquery.dev` location (#2293)
([da064397](google/bigframes@da064397))

* use autosummary to split documentation pages (#2251)
([f7fd2d20](google/bigframes@f7fd2d20))

</details>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: yes This human has signed the Contributor License Agreement. grpc packaging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants


Back | FazBrowse Home | New Git URL