{"repo":"yoheimuta/go-protoparser","free":true,"listed":false,"github":"https://github.com/yoheimuta/go-protoparser","clone":"git clone https://github.com/yoheimuta/go-protoparser.git","description":"Yet another Go package which parses a Protocol Buffer file (proto2+proto3)","language":"Go","stars":202,"topics":["proto3","protobuf","parser","formatter","golang-package","golang","protocol-buffers","protobuf-parser","proto2"],"license":"MIT","category":"dev-tools","readme_excerpt":"go-protoparser go-protoparser is a yet another Go package which parses a Protocol Buffer file (editions+proto2+proto3). - Conforms to the exactly official spec. - Undergone rigorous testing. The parser can parses all examples of the official spec well. - Easy to use the parser. You can just call the Parse function and receive the Proto struct. - If you don't care about the order of body elements, consider to use the unordered.Proto struct. - Or if you want to use the visitor pattern, use the Visitor struct. Installation Example A Protocol Buffer file versioned 3 which is an example of the official reference. The Parsed result is a Go typed struct. The below output is encoded to JSON for simplicity. Usage See also example/dump . Users - protolint - Known importers Motivation There exists the similar protobuf parser packages in Go. But I could not find the parser which just return a parsing result well-typed value. A parser which supports a visitor pattern is useful to implement like linter, but it may be difficult to use. It can be sufficient for most parsing situations to just return a parsing result well-typed value. This is easier to use. Contributing - Fork it - Create your feature branch: git checkout -b your-new-feature - Commit changes: git commit -m 'Add your feature' - Pass all tests - Push to the branch: git push origin your-new-feature - Submit a pull request License The MIT License (MIT) Acknowledgement Thank you to the proto package: https://github.com/emicklei/pr","default_branch":null,"files":null,"tree":[],"storefront":"/r/yoheimuta","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/yoheimuta/go-protoparser/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}