{"id":19674776,"url":"https://github.com/cloudwego/thriftgo","last_synced_at":"2025-05-14T06:11:27.907Z","repository":{"id":37860185,"uuid":"342158827","full_name":"cloudwego/thriftgo","owner":"cloudwego","description":"An implementation of thrift compiler in go language. ","archived":false,"fork":false,"pushed_at":"2025-05-14T03:51:51.000Z","size":1127,"stargazers_count":279,"open_issues_count":6,"forks_count":85,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-05-14T04:56:11.332Z","etag":null,"topics":["golang","idl","thrift"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudwego.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-02-25T07:27:02.000Z","updated_at":"2025-04-28T03:26:45.000Z","dependencies_parsed_at":"2023-02-18T04:45:55.665Z","dependency_job_id":"35eeff02-a1fa-4c81-9bfd-7303fcb41d06","html_url":"https://github.com/cloudwego/thriftgo","commit_stats":null,"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudwego%2Fthriftgo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudwego%2Fthriftgo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudwego%2Fthriftgo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudwego%2Fthriftgo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudwego","download_url":"https://codeload.github.com/cloudwego/thriftgo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254079901,"owners_count":22011284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","idl","thrift"],"created_at":"2024-11-11T17:19:45.672Z","updated_at":"2025-05-14T06:11:27.861Z","avatar_url":"https://github.com/cloudwego.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Thriftgo\n\nEnglish | [中文](README_cn.md) | [日本語](README_ja.md)\n\n**Thriftgo** is an implementation of [thrift](https://thrift.apache.org/docs/idl) compiler in go language. It has a command line interface similar to the apache/thrift compiler and is enhanced with a plugin mechanism which makes it more powerful.\n\n## Installation\n\nNote: before executing the following commands, **make sure your `GOPATH` environment is properly set**.\n\nUsing `go install`:\n\n`GO111MODULE=on go install github.com/cloudwego/thriftgo@latest`\n\nOr build from source:\n\n```shell\ngit clone https://github.com/cloudwego/thriftgo.git\ncd thriftgo\nexport GO111MODULE=on\ngo mod tidy\ngo build\ngo install\n```\n\n## Usage\n\nThe Thriftgo command line tool accepts IDL files and compiles them to the target language. Each backend has a plentiful set of options to customize the generated code.\n\nBy the moment, Thriftgo can generates golang code only. More backends will be added in the future.\n\nTo compile an thrift IDL to golang files with the default setting, you can just run:\n\n```shell\nthriftgo -g go the-idl-file.thrift\n```\n\nRun `thriftgo -h` to see all available options for each backend and their meanings.\n\n## Plugin\n\nIf the code generated by Thriftgo does not satisfy your needs and the options provideds do not meet your requirements. You may also write plugins to generate code beside Thriftgo while taking the advantage of Thriftgo's IDL parser. Check the documentation of the plugin package for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudwego%2Fthriftgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudwego%2Fthriftgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudwego%2Fthriftgo/lists"}