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.

See also: AIP-4222 - Routing headers

gRPC Web

RESOURCES

Guidelines

Documentation

Links

Protocol Buffer

TypeScript Generator

Zoo Keeper

STUN

TCP hole punching

Reverse Engineering

Python Stub

CSharp grpc

gRPC with XDS (Universal Data Plane API) and Service Mesh

HISTORY

master 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>

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 Wechaty Authors <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.27.dev7.tar.gz (30.3 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.27.dev7-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file wechaty-grpc-0.27.dev7.tar.gz.

File metadata

  • Download URL: wechaty-grpc-0.27.dev7.tar.gz
  • Upload date:
  • Size: 30.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for wechaty-grpc-0.27.dev7.tar.gz
Algorithm Hash digest
SHA256 ca440b774abfe21e1e94ad25d02a152cdcde6845b31a24c82589209936be081e
MD5 7700592d5826ea32d4b325ddf3a544eb
BLAKE2b-256 e39532bd411ac406e7c514d21db04bb6dbf35614bb1433d531aa5c2e3b4bba51

See more details on using hashes here.

File details

Details for the file wechaty_grpc-0.27.dev7-py3-none-any.whl.

File metadata

  • Download URL: wechaty_grpc-0.27.dev7-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for wechaty_grpc-0.27.dev7-py3-none-any.whl
Algorithm Hash digest
SHA256 26922fd3323c5a62a62681697abdbb57917ffcf167b488712fd4c2d9cb1ae5cd
MD5 79210325d39542ea349999c3a6ce0664
BLAKE2b-256 216b2166dc854876234df65416b4cee25704de288290914429017e152721a11e

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