go.uber.org/yarpc@v1.72.1/README.md (about)

     1  # yarpc [![GoDoc][doc-img]][doc] [![GitHub release][release-img]][release] [![Mit License][mit-img]][mit] [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov]
     2  
     3  A message passing platform for Go that lets you:
     4  
     5  * Write servers and clients with various encodings, including [JSON](http://www.json.org/), [Thrift](https://thrift.apache.org/), and [Protobuf](https://developers.google.com/protocol-buffers/).
     6  * Expose servers over many transports simultaneously, including [HTTP/1.1](https://www.w3.org/Protocols/rfc2616/rfc2616.html), [gRPC](https://grpc.io/), and [TChannel](https://github.com/uber/tchannel).
     7  * Migrate outbound calls between transports without any code changes using config.
     8  
     9  ## Installation
    10  
    11  We recommend locking to [SemVer](http://semver.org/) range `^1` using [Glide](https://github.com/Masterminds/glide):
    12  
    13  ```
    14  glide get 'go.uber.org/yarpc#^1'
    15  ```
    16  
    17  ## Stability
    18  
    19  This library is `v1` and follows [SemVer](http://semver.org/) strictly.
    20  
    21  No breaking changes will be made to exported APIs before `v2.0.0` with the
    22  **exception of experimental packages**.
    23  
    24  Experimental packages reside within packages named `x`, and are *not stable*. This means their
    25  APIs can break at any time. The intention here is to validate these APIs and iterate on them
    26  by working closely with internal customers. Once stable, their contents will be moved out of
    27  the containing `x` package and their APIs will be locked.
    28  
    29  [doc-img]: http://img.shields.io/badge/GoDoc-Reference-blue.svg
    30  [doc]: https://godoc.org/go.uber.org/yarpc
    31  
    32  [release-img]: https://img.shields.io/github/release/yarpc/yarpc-go.svg
    33  [release]: https://github.com/yarpc/yarpc-go/releases
    34  
    35  [mit-img]: http://img.shields.io/badge/License-MIT-blue.svg
    36  [mit]: https://github.com/yarpc/yarpc-go/blob/master/LICENSE
    37  
    38  [ci-img]: https://badge.buildkite.com/f7d8e675c4d5ee4f5c4e4c2e33ca03c5be9bde22b186750538.svg?branch=master      
    39  [ci]: https://buildkite.com/uberopensource/yarpc-go
    40  
    41  [cov-img]: https://codecov.io/gh/yarpc/yarpc-go/branch/master/graph/badge.svg
    42  [cov]: https://codecov.io/gh/yarpc/yarpc-go/branch/master
    43  
    44  ## Development
    45  
    46  ### Setup
    47  
    48  To start developing with yarpc-go, run the following command to setup your environment:
    49  
    50  ```
    51  cd $GOPATH/src
    52  git clone https://github.com/yarpc/yarpc-go.git go.uber.org/yarpc
    53  make
    54  ```
    55  
    56  ### Running Tests
    57  
    58  To run tests into a pre-configured docker container, run the following command:
    59  ```
    60  make test
    61  ```
    62  
    63  To run tests locally, run the following command:
    64  ```
    65  SUPPRESS_DOCKER=1 make test
    66  ```
    67  
    68  Happy development!