----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/66649/ -----------------------------------------------------------
(Updated June 7, 2018, 1:12 a.m.) Review request for mesos, Armand Grillet, Jason Lai, Kevin Klues, and Zhitao Li. Repository: mesos Description ------- The current state of support for python in protoc has two serious issues: 1. The `__init__.py` files necessary to mark a directory as a python package aren't generated. 2. The import paths in each of the generated .py files do not reflect the `--python_path` option passed to `protoc`. This results in incomplete code generated, preventing it from being used out of the box. To address this issue, we're adding a `pb2gen.sh` script to do end-to-end code generation for python protobuf bindings: the script generates the bindings based on what's in the `include` dir, then postprocesses the generated code to add proper import paths and the `__init__.py` files. Diffs (updated) ----- src/python/.gitignore fee529dccf57fd24036733f4b470b7b9865a918c src/python/lib/pb2gen.sh PRE-CREATION src/python/lib/requirements.in 0742f3d846c99c1c4907d9628fb49845564563b2 support/pylint.config af25dd90cb2d467c688ea4b060dc4640040a068b Diff: https://reviews.apache.org/r/66649/diff/6/ Changes: https://reviews.apache.org/r/66649/diff/5-6/ Testing ------- 1. under `src/python/lib`, run `pb2gen.sh` 2. initialize and activate virtualenv: `virtualenv env && . env/bin/activate` 3. install reqs: `pip install -r requirements.in` 4. try to import modules from generated python code: `python -c 'from mesos.pb2.mesos.v1.master import master_pb2'` Thanks, Eric Chung