Code Monkey home page Code Monkey logo

kedro-grpc-server's Introduction

Kedro gRPC Server

Coverage Current Version Python Version Code style: black

This is a Kedro plugin that creates a gRPC server for your kedro pipelines. Exposed RPC calls can be triggered using any of the programming languages that support gRPC.

Demo:

gRPC server Go Kedro Client

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 kedro-grpc-server

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:

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.