Protoc wrapper for compilation into any language
Project description
All-in-one Protocol Buffers compilation tool
Supported languages:
Python, JavaScript, C++, Rust, Java, Go, ObjectiveC, PHP, Ruby, C#
Supported OS:
Ubuntu 22.04
Supported architectures:
x86_64
Getting started
First, install the Python package:
pip install protoc-polyglot
Then, run a command using this manual:
protoc-polyglot \
-l [languages] [service-yml/directory/file] \
-s [service name] \
-d [directory input] \
-f [files] \
-o [output dir, default protoc-output -> default protoc-output/bookclub/python ...] \
-c [connection ip+port]
Documentation is created automatically in the output folder after each compilation run.
Examples
protoc-polyglot --languages python --service-yml samples/services.yml
protoc-polyglot -l cpp python -y samples/services.yml
Optional: bulding Docker image locally
- Build a docker image
alias DOCKER_RUN='docker run --rm -v [output dir]:/data/output -v [output doc dir]:/data/doc -v [input protos dir]:/data/protos protocpolyglot/protoc-polyglot'
DOCKER_RUN [command arguments]
Contribution
We love that you are interested in helping us with the development of the protoc-polyglot project. To make the process of contributing as simple as possible we have created a couple of guidelines on how to contribute.
Issue tracking and solving
We track every issue in YouTrack. Before solving any bug, make sure it's reported in YouTrack and not already solved.
Make sure to solve only one issue at a time.
Fork & Pull Request
- Create a fork of this repository
- Clone your fork to your computer
- Create a new branch in the forked repository from the base branch
dev
with a meaningful name - Solve the issue
- Push your changes to the Fork repository.
- Create a Pull Request from your branch to the
dev
branch ( GitHub documentation about Pull Requests: https://help.github.com/articles/using-pull-requests)
The Pull Request should have a meaningful title, information about the changes you have made, and a link to the issue in YouTrack.
Do not add unnecessary files, and make sure not to push any sensitive personal information.
Protoc-polyglot team - protoc-polyglot@proton.me
TODO:
- Add more languages: Kotlin, Haskell, Perl, Lua, Swift etc.
- Create web client
- Create CLI client
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file protoc_polyglot-0.0.1.post86.tar.gz
.
File metadata
- Download URL: protoc_polyglot-0.0.1.post86.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e0d80d670ccdcb931e3758079e343b3255582abb6de40df7aee7b7498e7973e |
|
MD5 | 5b1eb761d3fef10f8fbcbd58791d7eaa |
|
BLAKE2b-256 | fd4a0cfdff097a04f3941942a7b32f75dde8b6da72a3fd44b9f7436bbc1832fc |
File details
Details for the file protoc_polyglot-0.0.1.post86-py3-none-any.whl
.
File metadata
- Download URL: protoc_polyglot-0.0.1.post86-py3-none-any.whl
- Upload date:
- Size: 14.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2119dc4d15ad33cc53a58ffd956a51ae93c4544f08aac58f7b63c0d1ba27bef5 |
|
MD5 | ff186a884555acb397b27fa74b64ee4f |
|
BLAKE2b-256 | fe8f928574728f2b27e45fec7a6f69759a59fb8aa621c9103b39e40788be268d |