* Run 2to3 on tools directory
* Delete github_stats_tracking
* Re-run 2to3
* Remove unused script
* Remove unused script
* Remove unused line count utility
* Yapf. Isort
* Remove accidentally included file
* Migrate tools/distrib directory to python 3
* Remove unnecessary shebang
* Restore line_count directory
* Immediately convert subprocess.check_output output to string
* Take care of Python 2 shebangs
* Invoke scripts using a Python 3 interpreter
* Yapf. Isort
* Try installing Python 3 first
* See if we have any Python 3 versions installed
* Add Python 3.7 to Windows path
* Try adding a symlink
* Try to symlink differently
* Install six for Python 3
* Run run_interop_tests with python 3
* Try installing six in python3.7 explicitly
* Revert "Try installing six in python3.7 explicitly"
This reverts commit 2cf60d72f3.
* And debug some more
* Fix issue with jobset.py
* Add debug for CI failure
* Revert microbenchmark changes
* Add isort_code.sh to sanity tests
* Run tools/distrib/isort_code.sh
* Fine tune the import order for relative imports
* Make pylint and project generation happy
* Fix a few corner cases
* Use --check instead of --diff
* The import order impacts test result somehow
* Make isort print diff and check output at the same time
* Let tools/run_tests/python_utils be firstparty library
* Run isort against latest HEAD
This fixes a crash in the grpc_performance_profile_* and grpc_e2e_performance_* tests.
Example failure: https://source.cloud.google.com/results/invocations/2112f2d5-db91-4901-87cb-cc9865f351f1/targets
The daily performance test passes with this fixit branch:
http://sponge2/23d4df20-f4dd-48ee-8789-4cd96b078ed5.
Additional fixes:
reorder imports according to the google style guide
replace deprecated cgi.escape library method with html.escape
In case it comes up, with respect to upgrading from py2 to py3, the iter{items,keys,values} methods are intentionally replaced with the less-efficient-in-python2 non-iter versions. This is a recommended practice even when supporting both python versions, and this is not performance-critical code.
Additional note: there is no performance difference btw py2 and py3 (~80 minutes to finish)
* Migrate the bm_diff benchmarks to python3
Includes a requirements.txt pinned at ~2017 versions, when this script
was first written.
* Replace p2 with p3 scipy/numpy dependencies.
* py2->3 for benchmark setup scripts
* upgrade pip to resolve python3 cryptography/setuptools-rust problem
* re-add jobset import (accidentally removed)
* re-add six's urllib import. This file is still used in py2 tests
* force py3 in run_if_c_cpp_modified.sh
* Fix another instance of subprocess.check_output binary mode
* Use the requirements.txt for CI perf environment setup
* Try to upgrade PyJWT. (v2.0.0 was problematic, #25053)
v2.x makes encode return strs from jwt.encode in both py2 and py3.
Previously, py3 would return bytes, and py2 a str.
* upgate cryptography lib version requirements for jwt.
* Wrap pip requirements specifier in quotes '>=x,<y'
* Decode subprocess output once instead of for every line
* Revert "Decode subprocess output once instead of for every line"
This reverts commit 28d14026431622ac7afd3535a8d7118e5be96628.
py2 doesn't support the `text` argument to subprocess.check_output.
* Address reviewer requests
* Pin a valid scipy version
* Remove scipy and tabulate dependencies from macos tests