Description
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
- Python
- Kubernetes
- OpenFunction
- CloudEvent (optional)
- Cloud Native Buildpacks (optional)
- Dapr, Knative (optional)
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:
- Adding function plugins and observability support for Python Function Framework
- Write test cases, sample functions, and instructions for Python Function Framework
- Write documentation and quick start guides for Python Function Framework
Useful Links
- https://github.com/OpenFunction/OpenFunction
- https://github.com/GoogleCloudPlatform/functions-framework
- https://buildpacks.io/
- https://dapr.io/
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.