Kedro gRPC Server
This is a beta Kedro plugin that creates a gRPC server for your kedro pipelines. Kedro gRPC Server RPC calls can be triggered using any of the programming languages that support gRPC.
Kedro gRPC clients can be in many programming languages.
Some kedro client examples below that call RPCs on a gRPC server running in any kedro project:
More on grpc.io
- Code generation support in all gRPC frameworks makes it super easy to use for clients who may have a different tech stack and language preference. Simply sharing a kedro.proto file, clients can use their preferred programming language to generate strongly typed kedro clients in any of the languages mentioned above.
- Allowing engineers to natively integrate running of kedro pipelines with their preferred programming language.
- Getting status of kedro pipeline run as a streaming response through HTTP/2. gRPC provides first-class support for this.
- Getting all the benefits of gRPC
- And, enabling business users to interact with analytics from a front-end application and trigger actions or models (e.g. scoring model) on demand.
How do I install Kedro gRPC Server?
Prerequisites
Kedro gRPC Server requires Python 3.6+ and Git to be setup.
Installation
You can install Kedro gRPC Server directly from GitHub with:
pip install git+https://github.com/mmchougule/kedro-grpc-server.git
How do I use Kedro gRPC Server?
To start the server, simply run the following command inside your Kedro project:
kedro server grpc-start
You can specify the host through the flag like so:
kedro server grpc-start --host
Similarly, you can set the port number using --port.
Run
gRPC API
Exposing 3 RPC calls similar to the REST server:
ListPipelines -> Returns current list of pipelines
Run -> Runs a pipeline with or without arguments
Status -> Provides run status of a pipeline with run_id.
The response for this rpc call is a Server Streaming response of all logged events.
Contributing
Please read CONTRIBUTING.md for:
- The contribution code of conduct
- The process for submitting pull requests
Versioning
We use SemVer for versioning. The best way to safely upgrade is to check our release notes for any notable breaking changes.
What licence do you use?
See LICENSE for guidelines.
Metadata
Release files for kedro-grpc-server 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kedro_grpc_server-0.1.0.tar.gz | 12.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kedro_grpc_server-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.9 kB
Release files / kedro_grpc_server-0.1.0.tar.gz
| Download URL | kedro_grpc_server-0.1.0.tar.gz |
|---|---|
| Size | 12.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f2e607189bf375bffce2da83b20bda53ee1fcaaeb6b0e99604e294db3e074f1a
|
|
BLAKE2b-256 checksum How to use checksums |
eed3a590f001fea66296801826814740b4eae3c4d0f7451d75ff6c765b98fc58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7
|
Release files / kedro_grpc_server-0.1.0-py3-none-any.whl
| Download URL | kedro_grpc_server-0.1.0-py3-none-any.whl |
|---|---|
| Size | 13.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7867dc637d766356b29013d328ba47b00e01af1870a6fe3f0e3b0c9309f4e83c
|
|
BLAKE2b-256 checksum How to use checksums |
5e5e7b57869ab243c84177b27f6ae7ff3e5a02917c1a7264a78d5abfa97f2e7a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7
|