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.16.tar.gz (26.0 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.20.16-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wechaty-grpc-0.20.16.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.57.0 CPython/3.9.1

File hashes

Hashes for wechaty-grpc-0.20.16.tar.gz
Algorithm Hash digest
SHA256 9210ac0fabb530a17d8992ad54ac9a200c869d146a08dd901f520b384c166b67
MD5 e983a6fe7f8f064c0a1652655e415dc7
BLAKE2b-256 1e6f2f095a6b8e1e9ac0c693c466051f6408595ed7bd5509aa60049f8a0e6634

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wechaty_grpc-0.20.16-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.57.0 CPython/3.9.1

File hashes

Hashes for wechaty_grpc-0.20.16-py3-none-any.whl
Algorithm Hash digest
SHA256 98f2357a14d575624a764ed4adf197ebceb610200b943dfbd07c3e61156db600
MD5 11862a1cfdbc7e4af6d0a61c79753e15
BLAKE2b-256 7097ce44fe102d7ee2cad039dfbb9ad3b7557303bec4b393bcf7c518ae9091cd

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