Skip to content

compile all protobuf files and create a single package distribution for can be installed with pip

License

Notifications You must be signed in to change notification settings

netsaj/python-protobuf-compiler

Repository files navigation

python protobuf compiler

compile all protobuf files and create a single package distribution for can be installed with pip

requirements

  • python >= 3.6
  • git (only for build from git repository)

features

  • support for multiples folders
  • support multiples proto files
  • Create self package for pip
  • Support for build from github and gitlab repository
  • Support for build from local directory
  • support imports into proto file (see test folder for show example )

install

pip3 install protobuf-compiler

for check install, execute in your terminal:

protopy -h

arguments

  • -h, --help : show this help message and exit
  • -d PROTO_DIR, --dir PROTO_DIR : folder path where the .proto files are located
  • -p PACKAGE_NAME, --package PACKAGE_NAME : package name
  • -o OUTPUT_DIR, --output OUTPUT_DIR: output folder for save single package .tar.gz
  • -g URL, --git URL : git reopsitory url where the .proto files are located
  • -t TOKEN, --token TOKEN : git server api token
  • -v VERSION, --version VERSION : tag version for build package

usage

protopy [-h] [-d PROTO_DIR] [-p PACKAGE_NAME] [-o OUTPUT_DIR]

example

  • compile from git repository:

you can clone a git repository from gitlab and github

python3 -m protopy -o /my/target/dir -p testpackage -g https://github.com/netsaj/testing.git -t my-private-token
  • compile from folder:
python3 -m protopy -o /my/output/dir -p testpackage -d /my/protofile/source/dir 

install generate package in your app

run in your app folder:

pip3 install /my/output/dir/package-version.tar.gz

example:

  • installing generate package:
pip3 install /Users/netsaj/temp/mytest-1.0.0.tar.gz
  • import into you .py files:
from mytest.analytics import analytics_pb2

Authors

About

compile all protobuf files and create a single package distribution for can be installed with pip

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages