yarpc/yarpc-go

A message passing platform for Go

Go

444

2,177 commits

updated Oct 9, 2026

See the code

README

yarpc

GoDoc GitHub release Mit License Build Status Coverage Status Go Report Card

A message passing platform for Go that lets you:

  • Write servers and clients with various encodings, including JSON, Thrift, and Protobuf.
  • Expose servers over many transports simultaneously, including HTTP/1.1, gRPC, and TChannel.
  • Migrate outbound calls between transports without any code changes using config.

Installation

Add dependency to your go.mod file:

go get go.uber.org/yarpc@latest

Use the following import path in the code:

import "go.uber.org/yarpc"

Please see reference and examples for more details.

Stability

This library is v1 and follows SemVer strictly.

No breaking changes will be made to exported APIs before v2.0.0 with the exception of experimental packages.

Experimental packages reside within packages named x, and are not stable. This means their APIs can break at any time. The intention here is to validate these APIs and iterate on them by working closely with internal customers. Once stable, their contents will be moved out of the containing x package and their APIs will be locked.

go
grpc
message-passing
microservices
protobuf
rpc
thrift
yarpc

yarpc/yarpc-go

A message passing platform for Go

Go

444

2,177 commits

updated Oct 9, 2026

See the code

README

yarpc

GoDoc GitHub release Mit License Build Status Coverage Status Go Report Card

A message passing platform for Go that lets you:

  • Write servers and clients with various encodings, including JSON, Thrift, and Protobuf.
  • Expose servers over many transports simultaneously, including HTTP/1.1, gRPC, and TChannel.
  • Migrate outbound calls between transports without any code changes using config.

Installation

Add dependency to your go.mod file:

go get go.uber.org/yarpc@latest

Use the following import path in the code:

import "go.uber.org/yarpc"

Please see reference and examples for more details.

Stability

This library is v1 and follows SemVer strictly.

No breaking changes will be made to exported APIs before v2.0.0 with the exception of experimental packages.

Experimental packages reside within packages named x, and are not stable. This means their APIs can break at any time. The intention here is to validate these APIs and iterate on them by working closely with internal customers. Once stable, their contents will be moved out of the containing x package and their APIs will be locked.

go
grpc
message-passing
microservices
protobuf
rpc
thrift
yarpc

Project health

Overall

6.7/10

Maintained

10/10

Code review

10/10
OpenSSF Scorecard

Latest release

v1.89.11 · Oct 9, 2026

Releases this year

32

Significant stargazers

Troy Dai

110 followers · starred Sep 2021

Matt Way

155 followers · starred Nov 2017

Rajeev N Bharshetty

503 followers · starred Apr 2018

Anton Bogdanovich

71 followers · starred Jan 2017