OpenFunction / functions-framework

functions-framework for multi-runtime, multi-type functions, and multi-language support
10 stars 6 forks source link

[LFX-22-summer] Support and update functions-framework-python #18

Open FeynmanZhou opened 2 years ago

FeynmanZhou commented 2 years ago

Project Introduction

Support and update the Python Function Framework for OpenFunction.

Project Goals

Update the Python Function Framework to align with the latest version of OpenFunction, allowing developers to write lightweight Python functions and easily run functions in Kubernetes.

Requirements

Background Knowledge

OpenFunction is a cloud-native open source FaaS (Function as a Service) platform aiming to let you focus on your business logic without having to maintain the underlying runtime environment and infrastructure. You only need to submit business-related source code in the form of functions.

Project Details

OpenFunction 0.6.0 brings notable features including function plugin, distributed tracing for functions, control autoscaling behavior, HTTP trigger to async function, etc. Meanwhile, the asynchronous runtime definition has also been refactored. The core API has been upgraded from v1alpha1 to v1beta1.

So far, the Go Function Framework fully supports the latest features of OpenFunction 0.6.0. We hope the Python Function Framework could also be applicable in OpenFunction 0.6.0.

Project Scope

You can get familiar with the Go Function Framework first, then update the Python Function Framework and add function plugins and observability support to the Python function framework. Make it aligns with the OpenFunction 0.6.0.

Project Outputs

Potential outputs may include but are not limited to the following items:

Useful Links

Quick Start

You can start by installing OpenFunction and then [creating a simple function](https://github.com/OpenFunction/ OpenFunction#quickstart). You can refer to Go Function Framework to learn the current features and then update the Python function framework.

Mentors/Contacts

iharshit009 commented 2 years ago

Is it possible to work on this simultaneously with @rajibmitra? @FeynmanZhou

Aarush-Goyal commented 2 years ago

Hey @FeynmanZhou I would also like to contribute to the project I have also applied for mentorship through LFX.

I see @rajibmitra is assigned for this issue. I would love to know about some other beginner friendly issue that I can contribute to. If @rajibmitra would like to collaborate on the issue with me that will also be great.

FeynmanZhou commented 2 years ago

Hi @rajibmitra @Aarush-Goyal @iharshit009 ,

I apologize that the LFX mentoring project should be applied via the LFX platform instead of the GitHub issue. Every mentee needs to submit the required materials and the candidate mentee will be voted by three mentors. Sorry for misunderstanding the process. You are welcome to submit your application and resume in the LFX platform. In this process, it will be much fairer for each mentee.

If you have any questions, feel free to ask us on the Slack channel.

PromiseFru commented 2 years ago

Hello @FeynmanZhou

Please I've been trying join the slack channel for a while and it won't let me in. It seems i need to sent an invite first

Aarush-Goyal commented 2 years ago

@PromiseFru Here is the joining link buddy https://communityinviter.com/apps/cloud-native/cncf

PromiseFru commented 2 years ago

@PromiseFru Here is the joining link buddy https://communityinviter.com/apps/cloud-native/cncf

Thank you. I got in 😃

PromiseFru commented 2 years ago

@Aarush-Goyal Please i don't if this is the best place to ask but I'm facing troubles creating a sample function for python from https://github.com/OpenFunction/OpenFunction#-quickstart Please any pointers? 🙏🏾

Aarush-Goyal commented 2 years ago

@PromiseFru I guess @benjaminhuo would be able to help you in this.

benjaminhuo commented 2 years ago

@PromiseFru There is a python example here: https://github.com/OpenFunction/samples/tree/main/functions/knative/hello-world-python

GlobeFishNG commented 1 year ago

Hi guys, is there any update for this requirement? Our team are expecting python framework for quite a long time. Thank you in advance. @webup @kehuili @Aarush-Goyal

benjaminhuo commented 1 year ago

@GlobeFishNG, @kehuili is still working on the python functions-framework

benjaminhuo commented 1 year ago

@rajibmitra you're welcome to work on this! Some useful stuff for develop python functions-framework: https://github.com/OpenFunction/functions-framework/issues/21 https://github.com/OpenFunction/OpenFunction/blob/main/docs/proposals/202112-functions-framework-refactoring.md

rajibmitra commented 1 year ago

Thanks @benjaminhuo Looking at it.