You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sandy 5629dff5f1 PL280 release code 4 years ago
..
.github PL280 release code 4 years ago
.vscode PL280 release code 4 years ago
bazel PL280 release code 4 years ago
cmake PL280 release code 4 years ago
doc PL280 release code 4 years ago
etc PL280 release code 4 years ago
examples PL280 release code 4 years ago
include PL280 release code 4 years ago
src PL280 release code 4 years ago
summerofcode PL280 release code 4 years ago
templates PL280 release code 4 years ago
test PL280 release code 4 years ago
third_party PL280 release code 4 years ago
tools PL280 release code 4 years ago
.clang-format PL280 release code 4 years ago
.clang-tidy PL280 release code 4 years ago
.clang_complete PL280 release code 4 years ago
.editorconfig PL280 release code 4 years ago
.istanbul.yml PL280 release code 4 years ago
.pylintrc PL280 release code 4 years ago
.pylintrc-tests PL280 release code 4 years ago
.rspec PL280 release code 4 years ago
.travis.yml PL280 release code 4 years ago
.yardopts PL280 release code 4 years ago
AUTHORS PL280 release code 4 years ago
BUILD PL280 release code 4 years ago
BUILDING.md PL280 release code 4 years ago
CMakeLists.txt PL280 release code 4 years ago
CODE-OF-CONDUCT.md PL280 release code 4 years ago
CONCEPTS.md PL280 release code 4 years ago
CONTRIBUTING.md PL280 release code 4 years ago
Gemfile PL280 release code 4 years ago
LICENSE PL280 release code 4 years ago
MANIFEST.md PL280 release code 4 years ago
Makefile PL280 release code 4 years ago
NOTICE.txt PL280 release code 4 years ago
OWNERS PL280 release code 4 years ago
PYTHON-MANIFEST.in PL280 release code 4 years ago
README.md PL280 release code 4 years ago
Rakefile PL280 release code 4 years ago
TROUBLESHOOTING.md PL280 release code 4 years ago
WORKSPACE PL280 release code 4 years ago
build.yaml PL280 release code 4 years ago
build_config.rb PL280 release code 4 years ago
composer.json PL280 release code 4 years ago
config.m4 PL280 release code 4 years ago
config.w32 PL280 release code 4 years ago
gRPC-C++.podspec PL280 release code 4 years ago
gRPC-Core.podspec PL280 release code 4 years ago
gRPC-ProtoRPC.podspec PL280 release code 4 years ago
gRPC-RxLibrary.podspec PL280 release code 4 years ago
gRPC.podspec PL280 release code 4 years ago
grpc.bzl PL280 release code 4 years ago
grpc.def PL280 release code 4 years ago
grpc.gemspec PL280 release code 4 years ago
grpc.gyp PL280 release code 4 years ago
package.xml PL280 release code 4 years ago
requirements.bazel.txt PL280 release code 4 years ago
requirements.txt PL280 release code 4 years ago
setup.cfg PL280 release code 4 years ago
setup.py PL280 release code 4 years ago

README.md

gRPC - An RPC library and framework

gRPC is a modern, open source, high-performance remote procedure call (RPC) framework that can run anywhere. It enables client and server applications to communicate transparently, and makes it easier to build connected systems.

Homepage: grpc.io
Mailing List: grpc-io@googlegroups.com

Join the chat at https://gitter.im/grpc/grpc

To start using gRPC

To maximize usability, gRPC supports the standard way of adding dependencies in your language of choice (if there is one). In most languages, the gRPC runtime comes in form of a package available in your language's package manager.

For instructions on how to use the language-specific gRPC runtime in your project, please refer to these documents

  • C++: follow the instructions under the src/cpp directory
  • C#: NuGet package Grpc
  • Dart: pub package grpc
  • Go: go get google.golang.org/grpc
  • Java: Use JARs from Maven Central Repository
  • Node: npm install grpc
  • Objective-C: Add gRPC-ProtoRPC dependency to podspec
  • PHP: pecl install grpc
  • Python: pip install grpcio
  • Ruby: gem install grpc
  • WebJS: follow the grpc-web instructions

You can find per-language quickstart guides and tutorials in Documentation section on grpc.io website. The code examples are available in the examples directory.

Precompiled bleeding-edge package builds of gRPC master branch's HEAD are uploaded daily to packages.grpc.io.

To start developing gRPC

Contributions are welcome!

Please read How to contribute which will guide you through the entire workflow of how to build the source code, how to run the tests and how to contribute your changes to the gRPC codebase. The document also contains info on how the contributing process works and contains best practices for creating contributions.

Troubleshooting

Sometimes things go wrong. Please check out the Troubleshooting guide if you are experiencing issues with gRPC.

Performance

See Performance dashboard for the performance numbers for the latest released version.

Concepts

See gRPC Concepts

About This Repository

This repository contains source code for gRPC libraries for multiple languages written on top of shared C core library src/core.

Libraries in different languages may be in different states of development. We are seeking contributions for all of these libraries.

Language Source
Shared C [core library] src/core
C++ src/cpp
Ruby src/ruby
Python src/python
PHP src/php
C# src/csharp
Objective-C src/objective-c
Language Source repo
Java grpc-java
Go grpc-go
NodeJS grpc-node
WebJS grpc-web
Dart grpc-dart