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…
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:
[email protected]

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++](src/cpp): follow the instructions under the
src/cppdirectory - C#/.NET: NuGet packages
Grpc.Net.Client, Grpc.AspNetCore.Server
Repository
- Kotlin: Use JARs from Maven Central
- Node:
npm install @grpc/grpc-js - [Objective-C](src/objective-c): Add
gRPC-ProtoRPCdependency to podspec - [PHP](src/php):
pecl install grpc - [Python](src/python/grpcio):
pip install grpcio - [Ruby](src/ruby):
gem install grpc - WebJS: follow the grpc-web instructions
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](CONTRIBUTING.md) 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. For detailed C++ build instructions,
see [Building from source](BUILDING.md). 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](TROUBLESHOOTING.md) if you are experiencing issues with
gRPC.
Performance
See the Performance dashboard
for performance numbers of master branch daily builds.
Concepts
See [gRPC Concepts](CONCEPTS.md)
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](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](src/core)
C++ | [src/cpp](src/cpp)
Ruby | [src/ruby](src/ruby)
Python | [src/python](src/python)
PHP | [src/php](src/php)
C# (core library based) | [src/csharp](src/csharp)
Objective-C | [src/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
Swift | grpc-swift
-
grpc
C++ based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
C++ ★ 45k 5h agoExplain → -
grpc-go
The Go language implementation of gRPC. HTTP/2 based RPC
Go ★ 23k 4d agoExplain → -
grpc-rust
A native gRPC client & server implementation with async/await support.
Rust ★ 12k 2d agoExplain → -
grpc-java
The Java gRPC implementation. HTTP/2 based RPC
Java ★ 12k 1d agoExplain → -
grpc-web
gRPC for Web Clients
JavaScript ★ 9.2k 11d agoExplain → -
grpc-node
gRPC for Node.js
TypeScript ★ 4.8k 3d agoExplain → -
grpc-dotnet
gRPC for .NET
C# ★ 4.5k 1d agoExplain → -
grpc-swift
The Swift language implementation of gRPC.
Swift ★ 2.2k 2mo agoExplain → -
grpc-kotlin
Kotlin gRPC implementation. HTTP/2 based RPC
Kotlin ★ 1.3k 6mo agoExplain → -
grpc-experiments
Experiments and proposals for gRPC features.
JavaScript ★ 1.1k 4y agoExplain → -
grpc-dart
The Dart language implementation of gRPC.
Dart ★ 889 4mo agoExplain → -
proposal
A repository for gRFCs
★ 776 4d agoExplain → -
grpc-php
Repo for gRPC PHP
PHP ★ 508 19d agoExplain → -
grpc.io
Repository for the gRPC website and documentation
HTML ★ 472 18d agoExplain → -
grpc-proto
gRPC-defined protobufs for peripheral services such as health checking, load balancing, etc.
Starlark ★ 290 2mo agoExplain → -
grpc.github.io ▣
The grpc.io website. (on GitHub pages)
★ 274 5y agoExplain → -
grpc-docker-library ▣
Contains dockerfiles for gRPC in different languages
Dockerfile ★ 205 5y agoExplain → -
grpc-haskell
gRPC library binding for Haskell.
Haskell ★ 155 7y agoExplain → -
grpc-swift-2
No description.
Swift ★ 133 3d agoExplain → -
homebrew-grpc ▣
gRPC formulae repo for Homebrew
Shell ★ 98 3y agoExplain → -
test-infra
Repo for gRPC testing infrastructure support code
Go ★ 96 3d agoExplain → -
grpc-community
Resources for gRPC community
★ 65 1mo agoExplain → -
grpc-ios
gRPC for iOS
C ★ 60 4d agoExplain → -
grpc-swift-protobuf
No description.
Swift ★ 38 5d agoExplain → -
grpc-swift-nio-transport
No description.
Swift ★ 38 1d agoExplain → -
grpc-java-api-checker
No description.
Java ★ 33 6mo agoExplain → -
grpc-swift-extras
No description.
Swift ★ 20 2mo agoExplain → -
psm-interop
Proxyless Security Mesh End-to-End Tests
Python ★ 9 2d agoExplain → -
grpc.io-docsy ⑂
A fork of google/docsy used by grpc.io.
JavaScript ★ 3 1mo agoExplain → -
.allstar
No description.
★ 2 2y agoExplain → -
.project
Project metadata for automation and awesomeness
★ 1 3mo agoExplain → -
bazel-central-registry ⑂
Used by https://github.com/apps/publish-to-bcr to create gRPC release PRs.
Starlark ★ 0 3d agoExplain →
No repos match these filters.