Skip to content
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
C++ C Python C# Makefile Ruby Other
Branch: master
Clone or download

Latest commit

ericgribkoff Merge pull request #23136 from ericgribkoff/qps
Update default xds test qps to 100
Latest commit 3f4b0d5 Jun 14, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.bazelci s/agains/against Oct 24, 2019
.github Pass the manager to Donna Jun 10, 2020
bazel Update to protobuf 3.12.2 May 29, 2020
cmake Revert "Revert "Reintroduce #21527 (boringssl submodule unification)"" Jan 29, 2020
doc Merge pull request #23136 from ericgribkoff/qps Jun 14, 2020
etc Monthly update of root pem Dec 11, 2019
examples Merge pull request #23115 from gnossen/xds_documentation_update Jun 4, 2020
include Don't mark server RPC canceled if finished with non-OK status Jun 11, 2020
src Merge pull request #23189 from michaelywg/import_rbac Jun 13, 2020
summerofcode Update .cc and .md files Jan 30, 2019
templates Revert "Revert "C# expose C-core's debug error string in Status struct"" Jun 5, 2020
test Merge pull request #23202 from vjpai/flaky Jun 13, 2020
third_party Merge pull request #22931 from tomlu/copy-file Jun 8, 2020
tools Merge pull request #23189 from michaelywg/import_rbac Jun 13, 2020
.bazelrc Add suggested alias for bazelrc import location Oct 24, 2018
.clang-format Clean up clang-format Mar 3, 2020
.clang-tidy Fix all instances of bugprone-undefined-memory-manipulation Aug 29, 2018
.clang_complete Upgrade sanity docker Mar 3, 2020
.editorconfig Adding an editorconfig configuration file. Jan 31, 2015
.gitallowed .gitallowed modification on the path of test files. Feb 26, 2020
.gitignore Add grpc-prefixed package generation script May 29, 2020
.gitmodules Update grpc protoc plugins to support proto3 optional May 29, 2020
.istanbul.yml Moved gRPC node package root to repo root, made it depend on grpc.gyp Oct 1, 2015
.pylintrc Reviewer advice Feb 12, 2020
.pylintrc-examples Use Pylint to lint gRPC Python examples Dec 20, 2018
.pylintrc-tests Add ignore to .pylintrc-tests Dec 12, 2018
.rspec Bundled C core with Ruby library Dec 18, 2015
.travis.yml Have Travis build the Sample app with frameworks too Jul 16, 2016
.yapfignore More pythons to be formatted Jan 4, 2020
.yardopts Adding a .yardopts file at the root so rubydocs isn't getting lost. Feb 13, 2016
AUTHORS [Aio] Unary unary client call barebones implementation Sep 11, 2019
BUILD Bump version to v1.31.0-dev Jun 5, 2020
BUILD.gn Refactor ServiceConfig code to move parsing to its own API. May 28, 2020
BUILDING.md Merge pull request #22252 from zackgalbreath/clarify_docs May 7, 2020
CMakeLists.txt Don't mark server RPC canceled if finished with non-OK status Jun 11, 2020
CODE-OF-CONDUCT.md Fix code of conduct Jun 8, 2017
CONCEPTS.md address comments Jun 20, 2018
CONTRIBUTING.md Update note on closed feature requests with help wanted label May 5, 2020
GOVERNANCE.md Add GOVERNANCE.md Sep 20, 2019
Gemfile Bundled C core with Ruby library Dec 18, 2015
LICENSE fix license file Jun 19, 2017
MAINTAINERS.md add me(ZhenLian) as project maintainer Feb 26, 2020
MANIFEST.md Abstract libuv implementation Mar 13, 2018
Makefile Don't mark server RPC canceled if finished with non-OK status Jun 11, 2020
NOTICE.txt change LICENSE, add AUTHORS Jun 8, 2017
OWNERS Remove unnecessary owners in client_channel tree. Nov 15, 2019
PYTHON-MANIFEST.in Revert "Revert "Reintroduce #21527 (boringssl submodule unification)"" Jan 29, 2020
README.md Add grpc-kotlin Mar 23, 2020
Rakefile Add ruby 2.7 to mac binary packages Mar 2, 2020
TROUBLESHOOTING.md Address review comments. Jul 9, 2018
WORKSPACE migrate windows RBE to win2019 pool May 13, 2020
build_autogenerated.yaml Regenerate projects Jun 5, 2020
build_config.rb Don't mark server RPC canceled if finished with non-OK status Jun 11, 2020
build_handwritten.yaml Don't mark server RPC canceled if finished with non-OK status Jun 11, 2020
composer.json PHP: upgrade interop test google/auth version Aug 2, 2018
config.m4 Refactor ServiceConfig code to move parsing to its own API. May 28, 2020
config.w32 Refactor ServiceConfig code to move parsing to its own API. May 28, 2020
gRPC-C++.podspec Regenerate projects Jun 5, 2020
gRPC-Core.podspec Regenerate projects Jun 5, 2020
gRPC-ProtoRPC.podspec Regenerate projects Jun 5, 2020
gRPC-RxLibrary.podspec Regenerate projects Jun 5, 2020
gRPC.podspec Regenerate projects Jun 5, 2020
grpc.bzl Format all Bazel files with buildifier Nov 5, 2019
grpc.def FullChainExperimental-01-200103 Jan 4, 2020
grpc.gemspec Update grpc protoc plugins to support proto3 optional May 29, 2020
grpc.gyp Refactor ServiceConfig code to move parsing to its own API. May 28, 2020
package.xml Regenerate projects Jun 5, 2020
requirements.bazel.txt Pin to 4.3 instead of 4.0 Jun 12, 2020
requirements.txt Pin to 4.3 instead of 4.0 Jun 12, 2020
setup.cfg Restrict visibility & improve readability Jan 31, 2020
setup.py Drop 3.4 from setup.py Apr 20, 2020

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. gRPC enables client and server applications to communicate transparently, and simplifies the building of 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 method for adding dependencies to a user's chosen language (if there is one). In most languages, the gRPC runtime comes as a package available in a user's language package manager.

For instructions on how to use the language-specific gRPC runtime for a 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
  • Kotlin: 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

Per-language quickstart guides and tutorials can be found in the documentation section on the grpc.io website. 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 changes to the gRPC codebase. The "How to contribute" document also contains info on how the contribution 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 the Performance dashboard for performance numbers of master branch daily builds.

Concepts

See gRPC Concepts

About This Repository

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

Libraries in different languages may be in various 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# (core library based) src/csharp
Objective-C src/objective-c
Language Source repo
Java grpc-java
Kotlin grpc-kotlin
Go grpc-go
NodeJS grpc-node
WebJS grpc-web
Dart grpc-dart
.NET (pure C# impl.) grpc-dotnet
You can’t perform that action at this time.