Skip to main content

Wechaty Puppet Service gRPC API

Project description

Wechaty GRPC

Node.js NPM PyPI Maven PHP Go

Wechaty gRPC

NPM Version PyPI Version Java Version PHP Version

node Python 3.7 Go Version

gRPC for Wechaty Puppet Service

USAGE

Node.js

wechaty-grpc@NPM

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

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

OpenAPI

Thanks for 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 a HTTP RESTful API to gRPC proxy.

gRPC Gateway

Image credit: grpc-gateway

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

gRPC Web

RESOURCES

Documentation

Links

Protocol Buffer

gRPC Web

TypeScript Generator

Zoo Keeper

STUN

TCP hole punching

Reverse Engineering

Python Stub

CSharp grpc

HISTORY

master

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>

v0.6 (Feb 2020)

  • Align gRPC Services with Wechaty Puppet Abstraction
  • Add Unit Tests

v0.2 (Jul 2018)

  • Automatic Generating gRPC Stubs
  • Publish to NPM

v0.0.1 (May 2018)

Initial commiit

MAINTAINER

Huan LI (李卓桓), Google Developer Expert in Machine Learning (ML GDE), zixia@zixia.net

Profile of Huan LI (李卓桓) on StackOverflow

COPYRIGHT & LICENSE

  • Code & Docs © 2018-now Huan LI <zixia@zixia.net>
  • Code released under the Apache-2.0 License
  • Docs released under Creative Commons

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wechaty-grpc-0.23.dev12.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wechaty_grpc-0.23.dev12-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file wechaty-grpc-0.23.dev12.tar.gz.

File metadata

  • Download URL: wechaty-grpc-0.23.dev12.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for wechaty-grpc-0.23.dev12.tar.gz
Algorithm Hash digest
SHA256 ce03c40933554f42efd6f1955a28d873433e15d90e58da0fe82ab20d44c5ceb6
MD5 0d5b7a917756048b1607fa513da92d92
BLAKE2b-256 fba2fcb6d84465dc4a06aab0a2e90002b483a096bd65aa4e29b0ec1258899873

See more details on using hashes here.

File details

Details for the file wechaty_grpc-0.23.dev12-py3-none-any.whl.

File metadata

  • Download URL: wechaty_grpc-0.23.dev12-py3-none-any.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for wechaty_grpc-0.23.dev12-py3-none-any.whl
Algorithm Hash digest
SHA256 a842e0bb4c22c8d0099db2fdbde359c83c9f33cd5d135b2b17b722688eb50494
MD5 26be916f924a8dee4c156402dd0fb855
BLAKE2b-256 e07f8f8a40870400c331f45fa93be3d2aa86b51b8824de4d9079dc61fc13067d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page