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.20.19.tar.gz (26.0 kB view details)

Uploaded Source

Built Distribution

wechaty_grpc-0.20.19-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file wechaty-grpc-0.20.19.tar.gz.

File metadata

  • Download URL: wechaty-grpc-0.20.19.tar.gz
  • Upload date:
  • Size: 26.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1

File hashes

Hashes for wechaty-grpc-0.20.19.tar.gz
Algorithm Hash digest
SHA256 7a23ed51921b2ada126dca1a11d12b46367826a1844a96a774864f972cec87cf
MD5 3602154b25436621dac7d9e5f9940014
BLAKE2b-256 aca8a2f8a4e8fa41f2acc9a6d746d62eb2f382f65942229984a5eaceb522ddab

See more details on using hashes here.

File details

Details for the file wechaty_grpc-0.20.19-py3-none-any.whl.

File metadata

  • Download URL: wechaty_grpc-0.20.19-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1

File hashes

Hashes for wechaty_grpc-0.20.19-py3-none-any.whl
Algorithm Hash digest
SHA256 1b28d7647224a1f8ecee66b3d95a1af69fb2deebcc677d8b8d6ff310f5eab18c
MD5 1e9e7d76c573cdd3201bcf4b60b5bb60
BLAKE2b-256 087ac41e73344bdd63b7d7decf5f3f99107c477987d29e8f5520f5c32df2d42b

See more details on using hashes here.

Supported by

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