Giter Club home page Giter Club logo

python-protobuf-compiler's Introduction

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

python-protobuf-compiler's People

Contributors

netsaj avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.