All Projects → wechaty → grpc

wechaty / grpc

Licence: Apache-2.0 license
gRPC Service & Protocol Buffers for Wechaty Puppet

Programming Languages

shell
77523 projects
javascript
184084 projects - #8 most used programming language
typescript
32286 projects
powershell
5483 projects
Makefile
30231 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to grpc

wechaty-puppet-simplepad
Another implementation of Wechaty-Puppet
Stars: ✭ 21 (+5%)
Mutual labels:  puppet, wechaty
aco-oracle java
Puppet module to install Oracle Java on Linux systems
Stars: ✭ 13 (-35%)
Mutual labels:  puppet
NUSISS-DevOpsEng
NUS ISS DevOps Engineering - Git, Docker, Docker Compose, Puppet , AWS Code Pipeline/CodeStar, Docker , Kubernetes, Terraform, Ansible
Stars: ✭ 58 (+190%)
Mutual labels:  puppet
puppet-puppetserver
Puppet module for puppetserver
Stars: ✭ 21 (+5%)
Mutual labels:  puppet
puppet-archlinux-macbookretina
UNSUPPORTED - Puppet module and accompanying documentation to install/setup Arch linux on a MacBook Pro Retina 11,4
Stars: ✭ 64 (+220%)
Mutual labels:  puppet
puppet-nfs
Installs and configures NFS server and clients
Stars: ✭ 14 (-30%)
Mutual labels:  puppet
masterclass-codeexamples
Code examples used in Get into DevOps: The Masterclass
Stars: ✭ 35 (+75%)
Mutual labels:  puppet
wechaty-Robot
基于wechaty-puppet-padplus的微信机器人助手
Stars: ✭ 87 (+335%)
Mutual labels:  wechaty
puppet-icinga2
Puppet module to manage Icinga 2
Stars: ✭ 61 (+205%)
Mutual labels:  puppet
biemond-oradb
Puppet Oracle Database Module
Stars: ✭ 59 (+195%)
Mutual labels:  puppet
sonar-puppet
SonarQube plugin for Puppet code.
Stars: ✭ 27 (+35%)
Mutual labels:  puppet
puppet-st2
Puppet Module to install and configure StackStorm, IFTTT for Ops
Stars: ✭ 20 (+0%)
Mutual labels:  puppet
puppet-confluent
Puppet Module for installing and configuring the Confluent Platform
Stars: ✭ 14 (-30%)
Mutual labels:  puppet
jcliff
Manage JBossAS 7/EAP6/Wildfly with modular configuration files from command line, puppet, ansible, chef, etc.
Stars: ✭ 42 (+110%)
Mutual labels:  puppet
puppet-poudriere
A Puppet module for managing Poudriere, the PkgNG build system.
Stars: ✭ 13 (-35%)
Mutual labels:  puppet
puppet-mock
Puppet Mocker for Wechaty (& A Puppet Template Starter)
Stars: ✭ 33 (+65%)
Mutual labels:  wechaty
puppet-stash
A puppet module to install atlassian stash
Stars: ✭ 19 (-5%)
Mutual labels:  puppet
puppet-vault
Puppet module to manage Vault (https://vaultproject.io)
Stars: ✭ 41 (+105%)
Mutual labels:  puppet
blogr-pve
Puppet provisioning of HA failover/cluster environment implemented in Proxmox Virtual Environment and Linux boxes.
Stars: ✭ 28 (+40%)
Mutual labels:  puppet
puppet-mrepo
Puppet module for creating and managing RPM based repository mirrors.
Stars: ✭ 17 (-15%)
Mutual labels:  puppet

Wechaty gRPC

gRPC Service & Protocol Buffers for Wechaty Puppet

Node.js NPM C# Nuget Go Java Maven PHP Python PyPI

NPM Version PyPI Version Java Version PHP Version node Python 3.7 Go Version

Table of Contents
  1. About
  2. Usage
  3. Development
  4. OpenAPI
  5. gRPC Web
  6. Resources
  7. Contributing
  8. Maintainer
  9. Copyright & License

About

gRPC is a modern open-source high-performance Remote Procedure Call (RPC) framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking, and authentication. It is also applicable in the last mile of distributed computing to connect devices, mobile applications, and browsers to backend services.

Usage

Node.js

wechaty-grpc@NPM

Docs:

Maintainer:

  • @huan - Huan LI (李卓桓)

Python

chatie-grpc@PyPI

Maintainer:

Go

github.com/wechaty/go-grpc

Maintainer:

Java

https://mvnrepository.com/artifact/io.github.wechaty/grpc

Maven:

<dependency>
    <groupId>io.github.wechaty</groupId>
    <version>0.11.25</version>
    <artifactId>grpc</artifactId>
</dependency>

Gradle:

compile 'io.github.wechaty:grpc:0.11.25'

Maintainer:

PHP

github.com/wechaty/php-grpc

Maintainer:

CSharp

Wechaty.Grpc @ Nuget

Maintainer:

Development

Debug

grpcc --proto ./service/myservice.proto --address 127.0.0.1:3466

Build

./scripts/install-protoc.sh
npm install

https://github.com/google/protobuf/releases/latest

Generate Stubs

npm run generate

1. JS for Protocol Buffer

protoc \
  --js_out="import_style=commonjs,binary:${OUT_DIR}"

https://github.com/google/protobuf/releases/latest

2. JS for gRPC Stubs

protoc \
  --plugin="protoc-gen-grpc=`which grpc_tools_node_protoc_plugin`" \
  --grpc_out="${OUT_DIR}"

https://www.npmjs.com/package/grpc-tools

3. TypeScript Typing Definations for Protocol Buffer & gRPC Stubs

protoc \
  --plugin="protoc-gen-grpc=node_modules/grpc_tools_node_protoc_ts/bin/protoc-gen-ts" \
  --grpc_out="${OUT_DIR}"

https://github.com/agreatfool/grpc_tools_node_protoc_ts

4. JS & TS for gRPC Web

protoc \
  --plugin="protoc-gen-ts=node_modules/ts-protoc-gen/bin/protoc-gen-ts" \
  --ts_out="service=true:${OUT_DIR}"

https://github.com/improbable-eng/ts-protoc-gen

Naming conventions & Style Guide

  1. Google Cloud APIs - Naming conventions
  2. Protocol Buffers - Developer Guide - Style Guide

OpenAPI

Learn more about the RESTful API service for Wechaty from Wechaty OpenAPI.

gRPC Web

RESOURCES

Documentation

Links

Protocol Buffer

Thanks to the ecosystem of gRPC, we can generate OpenAPI Specification from our gRPC proto definitions automatically.

We are using gRPC to JSON proxy generator following the gRPC HTTP spec as the OpenAPI Specification generator (protoc-gen-openapiv2), and using Like grpc-gateway, but written in node and dynamic project to serve an HTTP RESTful API to gRPC proxy.

Image credit: gRPC Gateway

Learn more about the RESTful API service for Wechaty from Wechaty OpenAPI.

See also:

gRPC Web

Resources

Check out RESOURCES.md file for learning resources.

Guidelines

Changelog

master v1.0 (Mar 14, 2022)

  1. v1.0 release
  2. add post event

v0.33 (Oct 18, 2021)

  • [ ] Rename ENUM from CONTACT_GENDER_MALE to MALE (#110)
  • Fix typos

v0.27

  1. ES Modules support
  2. Export generated protocol buffers class as puppet

v0.20 (Feb 21, 2021)

  1. Rename NPM module name from @chatie/grpc to wechaty-grpc
  2. Add OpenAPI annotations & generators for supporting https://github.com/wechaty/openapi
  3. Code clean.

v0.18 (Oct 15, 2020)

  • Add new MessageFileStream and MessageImageStream to replace the MessageFile and MessageImage method to avoid blocking nodejs event loop when sending large files (#88) by @windmemory
  • Add new MessageSendFileStream to replace the MessageSendFile method to avoid blocking nodejs event loop when sending large files (#89) by @windmemory

v0.17 (Aug 5, 2020)

v0.13 (Apr 19, 2020)

v0.11 (Apr 10, 2020)

  • Add Go Support (#50 by @dchaofei)
  • Publish Go Module at <github.com/wechaty/go-grpc>

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

See CONTRIBUTING.md for more details.

Releases

Since its creation in 2016, a number of Wechaty versions have been released. For more information about the release history and the current stable version, you can read the Wechaty release notes on Github.

Contributors

Made with contrib.rocks.

Maintainer

Wechaty is maintained by Huan, Rui, and a community of Open Source Contributors. We are always looking for people to join the Wechaty community to maintain the Wechaty codebase and documentation. You necessarily don't have to be a programmer to contribute to Wechaty. To get started contributing, you can read the CONTRIBUTING.md.

Getting help

Wechaty has a community of very helpful contributors on different platforms you can join to get help from. Before joining any of the communities, we recommend that you read our Code of conduct]o that you adhere to our community guidelines. A full list of the different Wechaty communities can be accessed from the Wechaty community section of this documentation.

Copyright & License

Wechaty is an Open Source Project. It is released under Apache-2.0 license and the corresponding documentation is released under the Creative Commons license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].