Restore 'grpc' extra for testing on Python 2.7.#1697
Restore 'grpc' extra for testing on Python 2.7.#1697tseaver merged 1 commit intogoogleapis:masterfrom tseaver:1527-restore_grpc_for_py27_testing
Conversation
Bump minimum required 'grpc' version to 0.13.1, which supports UCS-4 and UCS-2 builds on Linux. Closes #1572.
| basepython = | ||
| python2.7 | ||
| commands = | ||
| pip install gcloud[grpc] |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
|
|
|
I am big time 👎 on adding any unnecessary time to running our test suite. Running tests is one of the biggest barriers to contributing. |
|
On my machine, with this change: $ time tox -e py27
GLOB sdist-make: /home/tseaver/projects/agendaless/Google/src/gcloud-python/setup.py
py27 inst-nodeps: /home/tseaver/projects/agendaless/Google/src/gcloud-python/.tox/dist/gcloud-0.12.0.zip
py27 installed: -f file:///home/tseaver/.pip/wheels,cffi==1.5.2,cryptography==1.3.1,enum34==1.1.2,futures==3.0.5,gcloud==0.12.0,googleapis-common-protos==1.1.0,grpcio==0.13.1,httplib2==0.9.2,idna==2.1,ipaddress==1.0.16,linecache2==1.0.0,nose==1.3.7,nose-exclude==0.4.1,oauth2client==2.0.1,protobuf==3.0.0b2.post2,pyasn1==0.1.9,pyasn1-modules==0.0.8,pycparser==2.14,pyOpenSSL==16.0.0,rsa==3.4.2,six==1.10.0,traceback2==1.4.0,unittest2==1.1.0
py27 runtests: PYTHONHASHSEED='4256048390'
py27 runtests: commands[0] | pip install gcloud[grpc]
Requirement already satisfied (use --upgrade to upgrade): gcloud[grpc] in /home/tseaver/projects/agendaless/Google/src/gcloud-python
----------------------------------------------------------------------
# elided
Ran 1835 tests in 0.864s
OK
___________________________________ summary ____________________________________
py27: commands succeeded
congratulations :)
real 0m8.512s
user 0m7.338s
sys 0m0.975sWith explicit dependencies: $ time tox -e py27
GLOB sdist-make: /home/tseaver/projects/agendaless/Google/src/gcloud-python/setup.py
py27 inst-nodeps: /home/tseaver/projects/agendaless/Google/src/gcloud-python/.tox/dist/gcloud-0.12.0.zip
py27 installed: -f file:///home/tseaver/.pip/wheels,cffi==1.5.2,cryptography==1.3.1,enum34==1.1.2,futures==3.0.5,gcloud==0.12.0,googleapis-common-protos==1.1.0,grpcio==0.13.1,httplib2==0.9.2,idna==2.1,ipaddress==1.0.16,linecache2==1.0.0,nose==1.3.7,nose-exclude==0.4.1,oauth2client==2.0.1,protobuf==3.0.0b2.post2,pyasn1==0.1.9,pyasn1-modules==0.0.8,pycparser==2.14,pyOpenSSL==16.0.0,rsa==3.4.2,six==1.10.0,traceback2==1.4.0,unittest2==1.1.0
py27 runtests: PYTHONHASHSEED='1552785647'
# elided
Ran 1835 tests in 0.861s
OK
___________________________________ summary ____________________________________
py27: commands succeeded
congratulations :)
real 0m7.543s
user 0m6.394s
sys 0m0.947swhich is a net cost of one second: hardly worth arguing about. |
|
I understand the DRY objection but the whole point of using |
|
The "wart" (invoking the extra explicitly) will go away once we can safely just depend on |
|
OK go ahead and merge |
* chore(deps): update all dependencies * revert --------- Co-authored-by: Anthonios Partheniou <partheniou@google.com>
… rapid (zonal) buckets. (#1697) * Add performance microbenchmarking suite for Sequential and Random Reads * This compares Regional (Standard Storage) with Zonal (Rapid Storage) buckets. * Regional uses JSON wheres Zonal uses gRPC bidi --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
PR created by the Librarian CLI to initialize a release. Merging this PR will auto trigger a release. Librarian Version: v1.0.2-0.20251119154421-36c3e21ad3ac Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:8e2c32496077054105bd06c54a59d6a6694287bc053588e24debe6da6920ad91 <details><summary>google-cloud-storage: 3.9.0</summary> ## [3.9.0](googleapis/python-storage@v3.8.0...v3.9.0) (2026-02-02) ### Features * update generation for MRD (#1730) ([08bc7082](googleapis/python-storage@08bc7082)) * add get_object method for async grpc client (#1735) ([0e5ec29b](googleapis/python-storage@0e5ec29b)) * Add micro-benchmarks for reads comparing standard (regional) vs rapid (zonal) buckets. (#1697) ([1917649f](googleapis/python-storage@1917649f)) * Add support for opening via `write_handle` and fix `write_handle` type (#1715) ([2bc15fa5](googleapis/python-storage@2bc15fa5)) * add samples for appendable objects writes and reads ([2e1a1eb5](googleapis/python-storage@2e1a1eb5)) * add samples for appendable objects writes and reads (#1705) ([2e1a1eb5](googleapis/python-storage@2e1a1eb5)) * add context manager to mrd (#1724) ([5ac2808a](googleapis/python-storage@5ac2808a)) * Move Zonal Buckets features of `_experimental` (#1728) ([74c9ecc5](googleapis/python-storage@74c9ecc5)) * add default user agent for grpc (#1726) ([7b319469](googleapis/python-storage@7b319469)) * expose finalized_time in blob.py applicable for GET_OBJECT in ZB (#1719) ([8e21a7f](googleapis/python-storage@8e21a7fe)) * expose `DELETE_OBJECT` in `AsyncGrpcClient` (#1718) ([c8dd7a0b](googleapis/python-storage@c8dd7a0b)) * send `user_agent` to grpc channel (#1712) ([cdb2486b](googleapis/python-storage@cdb2486b)) * integrate writes strategy and appendable object writer (#1695) ([dbd162b3](googleapis/python-storage@dbd162b3)) * Add micro-benchmarks for writes comparing standard (regional) vs rapid (zonal) buckets. (#1707) ([dbe9d8b8](googleapis/python-storage@dbe9d8b8)) * add support for `generation=0` to avoid overwriting existing objects and add `is_stream_open` support (#1709) ([ea0f5bf8](googleapis/python-storage@ea0f5bf8)) * add support for `generation=0` to prevent overwriting existing objects ([ea0f5bf8](googleapis/python-storage@ea0f5bf8)) * add `is_stream_open` property to AsyncAppendableObjectWriter for stream status check ([ea0f5bf8](googleapis/python-storage@ea0f5bf8)) ### Bug Fixes * receive eof while closing reads stream (#1733) ([2ef63396](googleapis/python-storage@2ef63396)) * update write handle on every recv() (#1716) ([5d9fafe1](googleapis/python-storage@5d9fafe1)) * implement requests_done method to signal end of requests in async streams. Gracefully close streams. (#1700) ([6c160794](googleapis/python-storage@6c160794)) * implement requests_done method to signal end of requests in async streams. Gracefully close streams. ([6c160794](googleapis/python-storage@6c160794)) * instance grpc client once per process in benchmarks (#1725) ([721ea2dd](googleapis/python-storage@721ea2dd)) * Fix formatting in setup.py dependencies list (#1713) ([cc4831d7](googleapis/python-storage@cc4831d7)) * Change contructors of MRD and AAOW AsyncGrpcClient.grpc_client to AsyncGrpcClient (#1727) ([e730bf50](googleapis/python-storage@e730bf50)) </details>
Bump minimum required 'grpc' version to 0.13.1, which supports UCS-4 and UCS-2 builds on Linux.
Closes #1572.