{"repo":"cloudwego/thriftgo","free":true,"listed":false,"github":"https://github.com/cloudwego/thriftgo","clone":"git clone https://github.com/cloudwego/thriftgo.git","description":"An implementation of thrift compiler in go language.","language":"Go","stars":305,"topics":["golang","thrift","idl"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"Thriftgo thriftgo is an Apache Thrift IDL compiler written in Go. It generates Go source code from .thrift files and extends the standard compiler with a plugin system for custom code generation. What it does - Parses Thrift IDL files and generates Go code with extensive customization options. - Use it when you need to generate Go types, serialization code, or RPC interfaces from .thrift definitions, especially in the CloudWeGo ecosystem. Compatibility The generated Go code depends on the Apache Thrift Go runtime library. Thriftgo targets github.com/apache/thrift v0.13.0 only. Version 0.14.0 introduced breaking changes to core interfaces ( TProtocol , TTransport , TProcessor ) by adding context.Context parameters, making it incompatible with code generated by thriftgo. To avoid the Apache Thrift runtime dependency entirely, use no default serdes and no processor together — this generates plain Go structs without Read / Write methods or processor/client code. Alternatively, use thrift import path= to redirect the import to a fork or vendored copy. Installation Prerequisites: Go 1.18 or later. Ensure $GOPATH/bin (default: /go/bin ) is in your PATH so the installed binary is accessible. Install via go install (recommended): Install from source: Verify installation: Quick start Generate Go code from a Thrift IDL file: Output is written to ./gen-go/ / . Usage Global flags Flag Short Type Default Description --- --- --- --- --- --version bool false Print the compiler version and ex","default_branch":null,"files":null,"tree":[],"storefront":"/r/cloudwego","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/cloudwego/thriftgo/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."}