No project description provided
Project description
Function framework for Python
This framework provides a mechanism to write Function-as-a-Service style code in Python for handling HTTP events, including CloudEvents delivered via HTTP.
This framework is primarily intended to work with Knative, but also works to provide a generic server for handling CloudEvents over HTTP (e.g. from Kubernetes or on a local machine).
The framework uses reflection to find a suitable function to wrap; it should not be necessary to import any of the following modules in your own code unless you want (e.g. for type definitions):
frameork
(this module; on PyPi ashttp-containerize
)flask
cloudevents
Instead, simply ensure that you have a single non-_
prefixed function which
uses some combination of the following:
- HTTP request arguments (named
req
,request
,body
,headers
or of theflask.Request
type) - CloudEvent arguments (named
event
,payload
,data
,attributes
or of thecloudevents.sdk.event.v1.Event
type)
Usage:
import logging
from typing import Any
counter = 0
def DoEvent(data: Any, attributes: dict, req: Any):
global counter
counter = counter + 1
logging.info(f"Got data: {data}")
logging.info(f"From {req.origin}, my {counter}th request!")
attributes["type"] = "com.example.reply"
attributes["datacontenttype"] = "text/plain"
return attributes, "It's a demo"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for http_containerize-0.3.15-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3de88f4b0e5ecddd77dd3e29cdfef81eb6163da7c4c8e3ddf551dcbbea473b90 |
|
MD5 | 4e80066586f0ccd5df069de308bf4ede |
|
BLAKE2b-256 | 60cd618c0fbd458d398e8128f373e95496e40d6ca5c780665e925cee3f0b4a54 |