Skip to main content

Kedro gRPC Server, a Kedro plugin that creates a gRPC server for your kedro pipelines

Project description

Kedro gRPC Server

Coverage Current Version Python Version Code style: black

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kedro_grpc_server-0.1.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

kedro_grpc_server-0.1.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file kedro_grpc_server-0.1.0.tar.gz.

File metadata

  • Download URL: kedro_grpc_server-0.1.0.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for kedro_grpc_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f2e607189bf375bffce2da83b20bda53ee1fcaaeb6b0e99604e294db3e074f1a
MD5 e152f711062f42394b256d2636409e21
BLAKE2b-256 eed3a590f001fea66296801826814740b4eae3c4d0f7451d75ff6c765b98fc58

See more details on using hashes here.

File details

Details for the file kedro_grpc_server-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kedro_grpc_server-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for kedro_grpc_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7867dc637d766356b29013d328ba47b00e01af1870a6fe3f0e3b0c9309f4e83c
MD5 97c3be630d3944d2f99a72b2660c1da3
BLAKE2b-256 5e5e7b57869ab243c84177b27f6ae7ff3e5a02917c1a7264a78d5abfa97f2e7a

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