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

lidizheng Merge pull request #22770 from grpc/revert-22759-revert-22688-aio-status
Revert "Revert "[Aio] Add AsyncIO support to grpcio-status""
Latest commit 698a5a8 May 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 repo manager duty to nicolasnoble. May 11, 2020
bazel Merge pull request #22854 from markdroth/xds_lrs_send_all_clusters May 6, 2020
cmake Revert "Revert "Reintroduce #21527 (boringssl submodule unification)"" Jan 29, 2020
doc Merge pull request #22047 from tomaszjonak/patch-1 May 14, 2020
etc Monthly update of root pem Dec 11, 2019
examples Merged master May 6, 2020
include Merge pull request #22325 from veblush/sanitizer-option May 13, 2020
src Merge pull request #22770 from grpc/revert-22759-revert-22688-aio-status May 14, 2020
summerofcode Update .cc and .md files Jan 30, 2019
templates Merge pull request #22908 from HannahShiSFB/ignore-valgrind-undef-errors May 13, 2020
test Merge pull request #22749 from donnadionne/new May 12, 2020
third_party small fixup May 13, 2020
tools migrate windows RBE to win2019 pool May 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 Merge pull request #21194 from muxi/boringssl-prefix-header Apr 21, 2020
.gitmodules Update abseil to lts_2020_02_25 Feb 26, 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 Merge pull request #22854 from markdroth/xds_lrs_send_all_clusters May 6, 2020
BUILD.gn xds: Add support for send_all_clusters field in LRS. May 4, 2020
BUILDING.md Merge pull request #22252 from zackgalbreath/clarify_docs May 7, 2020
CMakeLists.txt regenerate CMakeLists.txt May 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 Merge pull request #22854 from markdroth/xds_lrs_send_all_clusters May 6, 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 Merge pull request #22854 from markdroth/xds_lrs_send_all_clusters May 6, 2020
build_config.rb CallCredentials debug string API Feb 26, 2020
build_handwritten.yaml Bumping version. Apr 30, 2020
composer.json PHP: upgrade interop test google/auth version Aug 2, 2018
config.m4 xds: Add support for send_all_clusters field in LRS. May 4, 2020
config.w32 xds: Add support for send_all_clusters field in LRS. May 4, 2020
gRPC-C++.podspec Merge pull request #22854 from markdroth/xds_lrs_send_all_clusters May 6, 2020
gRPC-Core.podspec Merge pull request #22854 from markdroth/xds_lrs_send_all_clusters May 6, 2020
gRPC-ProtoRPC.podspec Bumping version. Apr 30, 2020
gRPC-RxLibrary.podspec Bumping version. Apr 30, 2020
gRPC.podspec Moved GRPCTypes into its own grpc_objc_library. May 13, 2020
grpc.bzl Format all Bazel files with buildifier Nov 5, 2019
grpc.def FullChainExperimental-01-200103 Jan 4, 2020
grpc.gemspec Merge pull request #22854 from markdroth/xds_lrs_send_all_clusters May 6, 2020
grpc.gyp xds: Add support for send_all_clusters field in LRS. May 4, 2020
package.xml Merge pull request #22854 from markdroth/xds_lrs_send_all_clusters May 6, 2020
requirements.bazel.txt Bump up the Cython version to 0.29.8 Jun 6, 2019
requirements.txt Bump up the Cython version to 0.29.8 Jun 6, 2019
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.