diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-chatie-grpc.spec | 881 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 883 insertions, 0 deletions
@@ -0,0 +1 @@ +/chatie-grpc-0.18.12.tar.gz diff --git a/python-chatie-grpc.spec b/python-chatie-grpc.spec new file mode 100644 index 0000000..3f52e82 --- /dev/null +++ b/python-chatie-grpc.spec @@ -0,0 +1,881 @@ +%global _empty_manifest_terminate_build 0 +Name: python-chatie-grpc +Version: 0.18.12 +Release: 1 +Summary: gRPC for Chatie +License: Apache-2.0 +URL: https://github.com/chatie/grpc +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/db/0a/82a0bd5f029bd4bc6e1fadaaf4f1e9fc3f7424eabbbbafb7d06ae01b7fc9/chatie-grpc-0.18.12.tar.gz +BuildArch: noarch + +Requires: python3-betterproto +Requires: python3-grpclib + +%description +# GRPC + +[](https://github.com/Chatie/grpc/actions?query=workflow%3ANode.js) +[](https://github.com/Chatie/grpc/actions?query=workflow%3ANPM) +[](https://github.com/Chatie/grpc/actions?query=workflow%3APyPI) +[](https://github.com/Chatie/grpc/actions?query=workflow%3A%22Maven%22) +[](https://github.com/Chatie/grpc/actions?query=workflow%3APHP) +[](https://github.com/chatie/grpc/actions?query=workflow%3AGo) + + + +[](https://www.npmjs.com/package/@chatie/grpc) +[](https://pypi.org/project/chatie-grpc/) +[](https://mvnrepository.com/artifact/io.github.wechaty/grpc) +[](https://packagist.org/packages/wechaty/php-grpc) + +[](https://nodejs.org/) +[](https://www.python.org/downloads/release/python-370/) + + +gRPC for Chatie + +## USAGE + +### Node.js + +[@chatie/grpc@NPM](https://www.npmjs.com/package/@chatie/grpc) + +Maintainer: + +- [@huan](https://github.com/huan) - Huan LI (李卓桓) + +### Python + +[chatie-grpc@PyPI](https://pypi.org/project/chatie-grpc) + +Maintainer: + +- [@wj-Mcat](https://github.com/wj-Mcat) - Jingjing WU (吴京京) + +### Go + +[github.com/wechaty/go-grpc](https://github.com/wechaty/go-grpc) + +Maintainer: + +- [@dchaofei](https://github.com/dchaofei) - Chaofei DING (丁超飞) + +### Java + +[https://mvnrepository.com/artifact/io.github.wechaty/grpc](https://mvnrepository.com/artifact/io.github.wechaty/grpc) + +Maven: +```xml +<dependency> + <groupId>io.github.wechaty</groupId> + <version>0.11.25</version> + <artifactId>grpc</artifactId> +</dependency> +``` + +Gradle: +```groovy +compile 'io.github.wechaty:grpc:0.11.25' +``` + +Maintainer: + +- [@diaozxin007](https://github.com/diaozxin007) - Zhengxin DIAO (刁政欣) + +### PHP + +[github.com/wechaty/php-grpc](https://github.comwechaty/php-grpc) + +Maintainer: + +- [@zhangchunsheng](https://github.com/zhangchunsheng) - Chunsheng ZHANG (张春生) + +### Csharp + +[Wechaty.Grpc @ Nuget](https://www.nuget.org/packages/Wechaty.Grpc) + +Maintainer: + +- [@Darren](https://github.com/jesn) - Darren (郑波) + + +## DEVELOPMENT + +### Debug + +- [GUI Client for GRPC Services](https://github.com/uw-labs/bloomrpc) - BloomRPC aim to give the simplest and efficient developer experience for exploring and querying your GRPC services.(Inspired by Postman and GraphQL Playground) +- [A gRPC CLI interface for easy testing against gRPC servers with Node.js REPL](https://github.com/njpatel/grpcc) + ```sh + grpcc --proto ./service/myservice.proto --address 127.0.0.1:3466 + ``` + +### Build + +```shell +./scripts/install-protoc.sh +npm install +``` + +> <https://github.com/google/protobuf/releases/latest> + +### Generate Stubs + +```shell +npm run generate +``` + +#### 1. JS for Protocol Buffer + +```shell +protoc \ + --js_out="import_style=commonjs,binary:${OUT_DIR}" +``` + +> <https://github.com/google/protobuf/releases/latest> + +#### 2. JS for gRPC Stubs + +```shell +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 + +```shell +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 + +```shell +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> + +## RESOURCES + +### Documentation + +- [Protocol Buffers Language Guide (proto3)](https://developers.google.com/protocol-buffers/docs/proto3) +- [Google Protocol Buffers Style Guide](https://developers.google.com/protocol-buffers/docs/style) +- [Protocol Buffers for TypeScript with Decorators](https://github.com/protobufjs/protobuf.js#using-decorators) +- [Troubleshooting gRPC](https://github.com/grpc/grpc/blob/master/TROUBLESHOOTING.md) +- [gRPC environment variables](https://github.com/grpc/grpc/blob/master/doc/environment_variables.md) +- [How to Interact With and Debug a gRPC Server](https://medium.com/@EdgePress/how-to-interact-with-and-debug-a-grpc-server-c4bc30ddeb0b) + +### Links + +- [探讨gRPC的Node技术生态及实现工具](https://xenojoshua.com/2018/02/grpc-node-ecosystem/) +- [gRPC Basics - Node.js](https://grpc.io/docs/tutorials/basic/node.html) +- [Building a gRPC service with Node.js](https://codelabs.developers.google.com/codelabs/cloud-grpc/) +- [gRPC in 3 minutes (Node.js)](https://github.com/grpc/grpc/tree/master/examples/node) +- [Listen gRPC and HTTP requests on the same port](https://medium.com/@drgarcia1986/listen-grpc-and-http-requests-on-the-same-port-263c40cb45ff) +- [gRPC to JSON proxy generator following the gRPC HTTP spec](https://github.com/grpc-ecosystem/grpc-gateway) +- [如何在 Node.js 中更优雅地使用 gRPC:grpc-helper](https://github.com/xizhibei/blog/issues/86) + +#### Protocol Buffer + +- [Protocol Buffers for JavaScript (& TypeScript)](https://github.com/dcodeIO/protobuf.js) +- [Missing value/null support for scalar value types in proto 3](https://github.com/protocolbuffers/protobuf/issues/1606) +- [How to Make a Nullable Field in Proto3 for a HTTP Response?](https://stackoverflow.com/questions/57908389/how-to-make-a-nullable-field-in-proto3-for-a-http-response) + +#### gRPC Web + +- [gRPC-Web: Moving past REST+JSON towards type-safe Web APIs](https://improbable.io/blog/grpc-web-moving-past-restjson-towards-type-safe-web-apis) +- [Library for making gRPC-Web requests intended for TypeScript from either a browser or Node.js.](https://github.com/improbable-eng/grpc-web/tree/master/ts) + +#### TypeScript Generator + +- [A Typescript definition file generator for gRPC services](https://github.com/anfema/grpc-code-generator) +- [gRPC Web TypeScript Code Generation](https://github.com/improbable-eng/grpc-web/blob/master/ts/docs/code-generation.md) +- [Protocol Buffers Compiler (protoc) plugin for TypeScript and gRPC-Web.](https://github.com/improbable-eng/ts-protoc-gen) + +#### Zoo Keeper + +- [ZooKeeper - The King of Coordination](https://www.elastic.co/blog/found-zookeeper-king-of-coordination) + +#### STUN + +- [How To TCP NAT Traversal using Node.js and a STUN Server](http://sogilis.com/blog/tcp-nat-traversal-nodejs-stun/) +- [chownat, allows two peers behind two separate NATs to directly communicate with each other.](https://samy.pl/chownat/) +- [What is STUN & TURN Server](https://stackoverflow.com/a/23307588/1123955) +- [NPM Search for: NAT Traversal](https://www.npmjs.com/search?q=nat+traversal) +- [NAT traversal by way of UPnP or NAT-PMP](https://github.com/tintfoundation/nat-traverse) +- [How To TCP NAT Traversal using Node.js and a STUN Server](https://gist.github.com/mildred/b803e48801f9cdd8a4a8) +- [STUN, TURN, and ICE - AnyConnect pioneered the STUN, TURN, and ICE NAT Traversal protocols](https://anyconnect.com/stun-turn-ice/) +- [What are STUN, TURN, and ICE?](https://www.twilio.com/docs/stun-turn/faq#faq-what-is-nat) +- [Set Phasers to STUN/TURN: Getting Started with WebRTC using Node.js, Socket.io and Twilio’s NAT Traversal Service](https://www.twilio.com/blog/2014/12/set-phasers-to-stunturn-getting-started-with-webrtc-using-node-js-socket-io-and-twilios-nat-traversal-service.html) + +TCP hole punching + +#### Reverse Engineering + +- [A toolset for reverse engineering and fuzzing Protobuf-based apps](https://github.com/marin-m/pbtk) + +#### Python Stub + +- [gRPC typing stubs for Python](https://github.com/shabbyrobe/grpc-stubs) + +#### csharp grpc +- [An introduction to NuGet (microsoft)](https://docs.microsoft.com/en-us/nuget/what-is-nuget) +- [Create a gRPC client and server in ASP.NET Core (microsoft)](https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.1&tabs=visual-studio) +- [ASP.NET Core 3.0 使用gRPC (晓晨Master) ](https://www.cnblogs.com/stulzq/p/11581967.html) + + +## HISTORY + +### 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](https://github.com/Chatie/grpc/pull/88)) by [@windmemory](https://github.com/windmemory) +- Add new `MessageSendFileStream` to replace the `MessageSendFile` method to avoid blocking nodejs event loop when sending large files ([#89](https://github.com/Chatie/grpc/pull/89)) by [@windmemory](https://github.com/windmemory) + +### v0.17 (Aug 5, 2020) + +- Add PHPH Support ([#76](https://github.com/Chatie/grpc/pull/76) [#78](https://github.com/Chatie/grpc/pull/78)) by [@zhangchunsheng](https://github.com/zhangchunsheng) +- Publish PHP Module at <https://github.com/wechaty/php-grpc> + +### v0.13 (Apr 19, 2020) + +- Add Java Support ([#52](https://github.com/Chatie/grpc/issues/52) [#53](https://github.com/Chatie/grpc/issues/53) by [@diaozxin007](https://github.com/diaozxin007)) +- Publish Java Module at [Open Source Project Repository HostingOSSRH-56843 - Release the Chatie/grpc Java Client](https://issues.sonatype.org/browse/OSSRH-56843) + +### v0.11 (Apr 10, 2020) + +- Add Go Support ([#50](https://github.com/Chatie/grpc/issues/50) by [@dchaofei](https://github.com/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](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)), Google Developer Expert in Machine Learning (ML GDE), <zixia@zixia.net> + +[](https://stackexchange.com/users/265499) + +## COPYRIGHT & LICENSE + +- Code & Docs © 2018-now Huan LI \<zixia@zixia.net\> +- Code released under the Apache-2.0 License +- Docs released under Creative Commons + + + + +%package -n python3-chatie-grpc +Summary: gRPC for Chatie +Provides: python-chatie-grpc +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-chatie-grpc +# GRPC + +[](https://github.com/Chatie/grpc/actions?query=workflow%3ANode.js) +[](https://github.com/Chatie/grpc/actions?query=workflow%3ANPM) +[](https://github.com/Chatie/grpc/actions?query=workflow%3APyPI) +[](https://github.com/Chatie/grpc/actions?query=workflow%3A%22Maven%22) +[](https://github.com/Chatie/grpc/actions?query=workflow%3APHP) +[](https://github.com/chatie/grpc/actions?query=workflow%3AGo) + + + +[](https://www.npmjs.com/package/@chatie/grpc) +[](https://pypi.org/project/chatie-grpc/) +[](https://mvnrepository.com/artifact/io.github.wechaty/grpc) +[](https://packagist.org/packages/wechaty/php-grpc) + +[](https://nodejs.org/) +[](https://www.python.org/downloads/release/python-370/) + + +gRPC for Chatie + +## USAGE + +### Node.js + +[@chatie/grpc@NPM](https://www.npmjs.com/package/@chatie/grpc) + +Maintainer: + +- [@huan](https://github.com/huan) - Huan LI (李卓桓) + +### Python + +[chatie-grpc@PyPI](https://pypi.org/project/chatie-grpc) + +Maintainer: + +- [@wj-Mcat](https://github.com/wj-Mcat) - Jingjing WU (吴京京) + +### Go + +[github.com/wechaty/go-grpc](https://github.com/wechaty/go-grpc) + +Maintainer: + +- [@dchaofei](https://github.com/dchaofei) - Chaofei DING (丁超飞) + +### Java + +[https://mvnrepository.com/artifact/io.github.wechaty/grpc](https://mvnrepository.com/artifact/io.github.wechaty/grpc) + +Maven: +```xml +<dependency> + <groupId>io.github.wechaty</groupId> + <version>0.11.25</version> + <artifactId>grpc</artifactId> +</dependency> +``` + +Gradle: +```groovy +compile 'io.github.wechaty:grpc:0.11.25' +``` + +Maintainer: + +- [@diaozxin007](https://github.com/diaozxin007) - Zhengxin DIAO (刁政欣) + +### PHP + +[github.com/wechaty/php-grpc](https://github.comwechaty/php-grpc) + +Maintainer: + +- [@zhangchunsheng](https://github.com/zhangchunsheng) - Chunsheng ZHANG (张春生) + +### Csharp + +[Wechaty.Grpc @ Nuget](https://www.nuget.org/packages/Wechaty.Grpc) + +Maintainer: + +- [@Darren](https://github.com/jesn) - Darren (郑波) + + +## DEVELOPMENT + +### Debug + +- [GUI Client for GRPC Services](https://github.com/uw-labs/bloomrpc) - BloomRPC aim to give the simplest and efficient developer experience for exploring and querying your GRPC services.(Inspired by Postman and GraphQL Playground) +- [A gRPC CLI interface for easy testing against gRPC servers with Node.js REPL](https://github.com/njpatel/grpcc) + ```sh + grpcc --proto ./service/myservice.proto --address 127.0.0.1:3466 + ``` + +### Build + +```shell +./scripts/install-protoc.sh +npm install +``` + +> <https://github.com/google/protobuf/releases/latest> + +### Generate Stubs + +```shell +npm run generate +``` + +#### 1. JS for Protocol Buffer + +```shell +protoc \ + --js_out="import_style=commonjs,binary:${OUT_DIR}" +``` + +> <https://github.com/google/protobuf/releases/latest> + +#### 2. JS for gRPC Stubs + +```shell +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 + +```shell +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 + +```shell +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> + +## RESOURCES + +### Documentation + +- [Protocol Buffers Language Guide (proto3)](https://developers.google.com/protocol-buffers/docs/proto3) +- [Google Protocol Buffers Style Guide](https://developers.google.com/protocol-buffers/docs/style) +- [Protocol Buffers for TypeScript with Decorators](https://github.com/protobufjs/protobuf.js#using-decorators) +- [Troubleshooting gRPC](https://github.com/grpc/grpc/blob/master/TROUBLESHOOTING.md) +- [gRPC environment variables](https://github.com/grpc/grpc/blob/master/doc/environment_variables.md) +- [How to Interact With and Debug a gRPC Server](https://medium.com/@EdgePress/how-to-interact-with-and-debug-a-grpc-server-c4bc30ddeb0b) + +### Links + +- [探讨gRPC的Node技术生态及实现工具](https://xenojoshua.com/2018/02/grpc-node-ecosystem/) +- [gRPC Basics - Node.js](https://grpc.io/docs/tutorials/basic/node.html) +- [Building a gRPC service with Node.js](https://codelabs.developers.google.com/codelabs/cloud-grpc/) +- [gRPC in 3 minutes (Node.js)](https://github.com/grpc/grpc/tree/master/examples/node) +- [Listen gRPC and HTTP requests on the same port](https://medium.com/@drgarcia1986/listen-grpc-and-http-requests-on-the-same-port-263c40cb45ff) +- [gRPC to JSON proxy generator following the gRPC HTTP spec](https://github.com/grpc-ecosystem/grpc-gateway) +- [如何在 Node.js 中更优雅地使用 gRPC:grpc-helper](https://github.com/xizhibei/blog/issues/86) + +#### Protocol Buffer + +- [Protocol Buffers for JavaScript (& TypeScript)](https://github.com/dcodeIO/protobuf.js) +- [Missing value/null support for scalar value types in proto 3](https://github.com/protocolbuffers/protobuf/issues/1606) +- [How to Make a Nullable Field in Proto3 for a HTTP Response?](https://stackoverflow.com/questions/57908389/how-to-make-a-nullable-field-in-proto3-for-a-http-response) + +#### gRPC Web + +- [gRPC-Web: Moving past REST+JSON towards type-safe Web APIs](https://improbable.io/blog/grpc-web-moving-past-restjson-towards-type-safe-web-apis) +- [Library for making gRPC-Web requests intended for TypeScript from either a browser or Node.js.](https://github.com/improbable-eng/grpc-web/tree/master/ts) + +#### TypeScript Generator + +- [A Typescript definition file generator for gRPC services](https://github.com/anfema/grpc-code-generator) +- [gRPC Web TypeScript Code Generation](https://github.com/improbable-eng/grpc-web/blob/master/ts/docs/code-generation.md) +- [Protocol Buffers Compiler (protoc) plugin for TypeScript and gRPC-Web.](https://github.com/improbable-eng/ts-protoc-gen) + +#### Zoo Keeper + +- [ZooKeeper - The King of Coordination](https://www.elastic.co/blog/found-zookeeper-king-of-coordination) + +#### STUN + +- [How To TCP NAT Traversal using Node.js and a STUN Server](http://sogilis.com/blog/tcp-nat-traversal-nodejs-stun/) +- [chownat, allows two peers behind two separate NATs to directly communicate with each other.](https://samy.pl/chownat/) +- [What is STUN & TURN Server](https://stackoverflow.com/a/23307588/1123955) +- [NPM Search for: NAT Traversal](https://www.npmjs.com/search?q=nat+traversal) +- [NAT traversal by way of UPnP or NAT-PMP](https://github.com/tintfoundation/nat-traverse) +- [How To TCP NAT Traversal using Node.js and a STUN Server](https://gist.github.com/mildred/b803e48801f9cdd8a4a8) +- [STUN, TURN, and ICE - AnyConnect pioneered the STUN, TURN, and ICE NAT Traversal protocols](https://anyconnect.com/stun-turn-ice/) +- [What are STUN, TURN, and ICE?](https://www.twilio.com/docs/stun-turn/faq#faq-what-is-nat) +- [Set Phasers to STUN/TURN: Getting Started with WebRTC using Node.js, Socket.io and Twilio’s NAT Traversal Service](https://www.twilio.com/blog/2014/12/set-phasers-to-stunturn-getting-started-with-webrtc-using-node-js-socket-io-and-twilios-nat-traversal-service.html) + +TCP hole punching + +#### Reverse Engineering + +- [A toolset for reverse engineering and fuzzing Protobuf-based apps](https://github.com/marin-m/pbtk) + +#### Python Stub + +- [gRPC typing stubs for Python](https://github.com/shabbyrobe/grpc-stubs) + +#### csharp grpc +- [An introduction to NuGet (microsoft)](https://docs.microsoft.com/en-us/nuget/what-is-nuget) +- [Create a gRPC client and server in ASP.NET Core (microsoft)](https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.1&tabs=visual-studio) +- [ASP.NET Core 3.0 使用gRPC (晓晨Master) ](https://www.cnblogs.com/stulzq/p/11581967.html) + + +## HISTORY + +### 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](https://github.com/Chatie/grpc/pull/88)) by [@windmemory](https://github.com/windmemory) +- Add new `MessageSendFileStream` to replace the `MessageSendFile` method to avoid blocking nodejs event loop when sending large files ([#89](https://github.com/Chatie/grpc/pull/89)) by [@windmemory](https://github.com/windmemory) + +### v0.17 (Aug 5, 2020) + +- Add PHPH Support ([#76](https://github.com/Chatie/grpc/pull/76) [#78](https://github.com/Chatie/grpc/pull/78)) by [@zhangchunsheng](https://github.com/zhangchunsheng) +- Publish PHP Module at <https://github.com/wechaty/php-grpc> + +### v0.13 (Apr 19, 2020) + +- Add Java Support ([#52](https://github.com/Chatie/grpc/issues/52) [#53](https://github.com/Chatie/grpc/issues/53) by [@diaozxin007](https://github.com/diaozxin007)) +- Publish Java Module at [Open Source Project Repository HostingOSSRH-56843 - Release the Chatie/grpc Java Client](https://issues.sonatype.org/browse/OSSRH-56843) + +### v0.11 (Apr 10, 2020) + +- Add Go Support ([#50](https://github.com/Chatie/grpc/issues/50) by [@dchaofei](https://github.com/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](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)), Google Developer Expert in Machine Learning (ML GDE), <zixia@zixia.net> + +[](https://stackexchange.com/users/265499) + +## COPYRIGHT & LICENSE + +- Code & Docs © 2018-now Huan LI \<zixia@zixia.net\> +- Code released under the Apache-2.0 License +- Docs released under Creative Commons + + + + +%package help +Summary: Development documents and examples for chatie-grpc +Provides: python3-chatie-grpc-doc +%description help +# GRPC + +[](https://github.com/Chatie/grpc/actions?query=workflow%3ANode.js) +[](https://github.com/Chatie/grpc/actions?query=workflow%3ANPM) +[](https://github.com/Chatie/grpc/actions?query=workflow%3APyPI) +[](https://github.com/Chatie/grpc/actions?query=workflow%3A%22Maven%22) +[](https://github.com/Chatie/grpc/actions?query=workflow%3APHP) +[](https://github.com/chatie/grpc/actions?query=workflow%3AGo) + + + +[](https://www.npmjs.com/package/@chatie/grpc) +[](https://pypi.org/project/chatie-grpc/) +[](https://mvnrepository.com/artifact/io.github.wechaty/grpc) +[](https://packagist.org/packages/wechaty/php-grpc) + +[](https://nodejs.org/) +[](https://www.python.org/downloads/release/python-370/) + + +gRPC for Chatie + +## USAGE + +### Node.js + +[@chatie/grpc@NPM](https://www.npmjs.com/package/@chatie/grpc) + +Maintainer: + +- [@huan](https://github.com/huan) - Huan LI (李卓桓) + +### Python + +[chatie-grpc@PyPI](https://pypi.org/project/chatie-grpc) + +Maintainer: + +- [@wj-Mcat](https://github.com/wj-Mcat) - Jingjing WU (吴京京) + +### Go + +[github.com/wechaty/go-grpc](https://github.com/wechaty/go-grpc) + +Maintainer: + +- [@dchaofei](https://github.com/dchaofei) - Chaofei DING (丁超飞) + +### Java + +[https://mvnrepository.com/artifact/io.github.wechaty/grpc](https://mvnrepository.com/artifact/io.github.wechaty/grpc) + +Maven: +```xml +<dependency> + <groupId>io.github.wechaty</groupId> + <version>0.11.25</version> + <artifactId>grpc</artifactId> +</dependency> +``` + +Gradle: +```groovy +compile 'io.github.wechaty:grpc:0.11.25' +``` + +Maintainer: + +- [@diaozxin007](https://github.com/diaozxin007) - Zhengxin DIAO (刁政欣) + +### PHP + +[github.com/wechaty/php-grpc](https://github.comwechaty/php-grpc) + +Maintainer: + +- [@zhangchunsheng](https://github.com/zhangchunsheng) - Chunsheng ZHANG (张春生) + +### Csharp + +[Wechaty.Grpc @ Nuget](https://www.nuget.org/packages/Wechaty.Grpc) + +Maintainer: + +- [@Darren](https://github.com/jesn) - Darren (郑波) + + +## DEVELOPMENT + +### Debug + +- [GUI Client for GRPC Services](https://github.com/uw-labs/bloomrpc) - BloomRPC aim to give the simplest and efficient developer experience for exploring and querying your GRPC services.(Inspired by Postman and GraphQL Playground) +- [A gRPC CLI interface for easy testing against gRPC servers with Node.js REPL](https://github.com/njpatel/grpcc) + ```sh + grpcc --proto ./service/myservice.proto --address 127.0.0.1:3466 + ``` + +### Build + +```shell +./scripts/install-protoc.sh +npm install +``` + +> <https://github.com/google/protobuf/releases/latest> + +### Generate Stubs + +```shell +npm run generate +``` + +#### 1. JS for Protocol Buffer + +```shell +protoc \ + --js_out="import_style=commonjs,binary:${OUT_DIR}" +``` + +> <https://github.com/google/protobuf/releases/latest> + +#### 2. JS for gRPC Stubs + +```shell +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 + +```shell +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 + +```shell +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> + +## RESOURCES + +### Documentation + +- [Protocol Buffers Language Guide (proto3)](https://developers.google.com/protocol-buffers/docs/proto3) +- [Google Protocol Buffers Style Guide](https://developers.google.com/protocol-buffers/docs/style) +- [Protocol Buffers for TypeScript with Decorators](https://github.com/protobufjs/protobuf.js#using-decorators) +- [Troubleshooting gRPC](https://github.com/grpc/grpc/blob/master/TROUBLESHOOTING.md) +- [gRPC environment variables](https://github.com/grpc/grpc/blob/master/doc/environment_variables.md) +- [How to Interact With and Debug a gRPC Server](https://medium.com/@EdgePress/how-to-interact-with-and-debug-a-grpc-server-c4bc30ddeb0b) + +### Links + +- [探讨gRPC的Node技术生态及实现工具](https://xenojoshua.com/2018/02/grpc-node-ecosystem/) +- [gRPC Basics - Node.js](https://grpc.io/docs/tutorials/basic/node.html) +- [Building a gRPC service with Node.js](https://codelabs.developers.google.com/codelabs/cloud-grpc/) +- [gRPC in 3 minutes (Node.js)](https://github.com/grpc/grpc/tree/master/examples/node) +- [Listen gRPC and HTTP requests on the same port](https://medium.com/@drgarcia1986/listen-grpc-and-http-requests-on-the-same-port-263c40cb45ff) +- [gRPC to JSON proxy generator following the gRPC HTTP spec](https://github.com/grpc-ecosystem/grpc-gateway) +- [如何在 Node.js 中更优雅地使用 gRPC:grpc-helper](https://github.com/xizhibei/blog/issues/86) + +#### Protocol Buffer + +- [Protocol Buffers for JavaScript (& TypeScript)](https://github.com/dcodeIO/protobuf.js) +- [Missing value/null support for scalar value types in proto 3](https://github.com/protocolbuffers/protobuf/issues/1606) +- [How to Make a Nullable Field in Proto3 for a HTTP Response?](https://stackoverflow.com/questions/57908389/how-to-make-a-nullable-field-in-proto3-for-a-http-response) + +#### gRPC Web + +- [gRPC-Web: Moving past REST+JSON towards type-safe Web APIs](https://improbable.io/blog/grpc-web-moving-past-restjson-towards-type-safe-web-apis) +- [Library for making gRPC-Web requests intended for TypeScript from either a browser or Node.js.](https://github.com/improbable-eng/grpc-web/tree/master/ts) + +#### TypeScript Generator + +- [A Typescript definition file generator for gRPC services](https://github.com/anfema/grpc-code-generator) +- [gRPC Web TypeScript Code Generation](https://github.com/improbable-eng/grpc-web/blob/master/ts/docs/code-generation.md) +- [Protocol Buffers Compiler (protoc) plugin for TypeScript and gRPC-Web.](https://github.com/improbable-eng/ts-protoc-gen) + +#### Zoo Keeper + +- [ZooKeeper - The King of Coordination](https://www.elastic.co/blog/found-zookeeper-king-of-coordination) + +#### STUN + +- [How To TCP NAT Traversal using Node.js and a STUN Server](http://sogilis.com/blog/tcp-nat-traversal-nodejs-stun/) +- [chownat, allows two peers behind two separate NATs to directly communicate with each other.](https://samy.pl/chownat/) +- [What is STUN & TURN Server](https://stackoverflow.com/a/23307588/1123955) +- [NPM Search for: NAT Traversal](https://www.npmjs.com/search?q=nat+traversal) +- [NAT traversal by way of UPnP or NAT-PMP](https://github.com/tintfoundation/nat-traverse) +- [How To TCP NAT Traversal using Node.js and a STUN Server](https://gist.github.com/mildred/b803e48801f9cdd8a4a8) +- [STUN, TURN, and ICE - AnyConnect pioneered the STUN, TURN, and ICE NAT Traversal protocols](https://anyconnect.com/stun-turn-ice/) +- [What are STUN, TURN, and ICE?](https://www.twilio.com/docs/stun-turn/faq#faq-what-is-nat) +- [Set Phasers to STUN/TURN: Getting Started with WebRTC using Node.js, Socket.io and Twilio’s NAT Traversal Service](https://www.twilio.com/blog/2014/12/set-phasers-to-stunturn-getting-started-with-webrtc-using-node-js-socket-io-and-twilios-nat-traversal-service.html) + +TCP hole punching + +#### Reverse Engineering + +- [A toolset for reverse engineering and fuzzing Protobuf-based apps](https://github.com/marin-m/pbtk) + +#### Python Stub + +- [gRPC typing stubs for Python](https://github.com/shabbyrobe/grpc-stubs) + +#### csharp grpc +- [An introduction to NuGet (microsoft)](https://docs.microsoft.com/en-us/nuget/what-is-nuget) +- [Create a gRPC client and server in ASP.NET Core (microsoft)](https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.1&tabs=visual-studio) +- [ASP.NET Core 3.0 使用gRPC (晓晨Master) ](https://www.cnblogs.com/stulzq/p/11581967.html) + + +## HISTORY + +### 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](https://github.com/Chatie/grpc/pull/88)) by [@windmemory](https://github.com/windmemory) +- Add new `MessageSendFileStream` to replace the `MessageSendFile` method to avoid blocking nodejs event loop when sending large files ([#89](https://github.com/Chatie/grpc/pull/89)) by [@windmemory](https://github.com/windmemory) + +### v0.17 (Aug 5, 2020) + +- Add PHPH Support ([#76](https://github.com/Chatie/grpc/pull/76) [#78](https://github.com/Chatie/grpc/pull/78)) by [@zhangchunsheng](https://github.com/zhangchunsheng) +- Publish PHP Module at <https://github.com/wechaty/php-grpc> + +### v0.13 (Apr 19, 2020) + +- Add Java Support ([#52](https://github.com/Chatie/grpc/issues/52) [#53](https://github.com/Chatie/grpc/issues/53) by [@diaozxin007](https://github.com/diaozxin007)) +- Publish Java Module at [Open Source Project Repository HostingOSSRH-56843 - Release the Chatie/grpc Java Client](https://issues.sonatype.org/browse/OSSRH-56843) + +### v0.11 (Apr 10, 2020) + +- Add Go Support ([#50](https://github.com/Chatie/grpc/issues/50) by [@dchaofei](https://github.com/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](https://github.com/huan) ([李卓桓](http://linkedin.com/in/zixia)), Google Developer Expert in Machine Learning (ML GDE), <zixia@zixia.net> + +[](https://stackexchange.com/users/265499) + +## COPYRIGHT & LICENSE + +- Code & Docs © 2018-now Huan LI \<zixia@zixia.net\> +- Code released under the Apache-2.0 License +- Docs released under Creative Commons + + + + +%prep +%autosetup -n chatie-grpc-0.18.12 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-chatie-grpc -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.18.12-1 +- Package Spec generated @@ -0,0 +1 @@ +16b54e69772bc25993b6028b4df25dfb chatie-grpc-0.18.12.tar.gz |