PFiddlesoft has released version 1.5.2 of its PFEventTaps Framework, which helps developers write assistive Mac applications for persons with disabilities using Apple’s Accessibility and Quartz Event Taps APIs on OS X.
The PFEventTaps Framework was created in 2007 as the engine underlying PFiddlesoft's free Event Taps Testbench utility for developers. The framework supports and enhances Apple's Quartz Event Taps. PeopleSoft PeopleTools online help, PeopleBooks, install and upgrade guides, licensing information, and more. I found recently that webkit model will be unsupported by Apple in Lion and Safari last release and that everybody is migrating to Firebreath project in order to use NPAPI. I have a basic Cocoa.
The PFEventTaps Framework was updated to work around an Apple bug in the CoreGraphics framework that can cause a crash when running under OS X v10.10 Yosemite or older. The PFAssistive Framework was created in 2003 as the engine driving PFiddlesoft’s UI Browser application for developers and for users of Apple’s AppleScript GUI Scripting technology.
The frameworks are written using Objective-C. They support the Intel 64-bit architecture using reference counted memory management or ARC, and they support client applications written in Objective-C or Swift. Developers can license the PFiddlesoft Frameworks for distribution or for use with their own products that use Apple’s Accessibility and Quartz Event Taps technologies.
The frameworks may be licensed free of charge for personal use or for distribution or use with a free software product. A license fee is required to distribute or use the frameworks with a product for which payment is requested or required. Source code is available for a separate fee. Different terms apply to large or established commercial software developers. For more information, go to pfiddlesoft.com/frameworks/.
Latest versionReleased:
An open source FaaS (Function as a service) framework for writing portable Python functions -- brought to you by the Google Cloud Functions team.
Project description
An open source FaaS (Function as a service) framework for writing portablePython functions -- brought to you by the Google Cloud Functions team.
The Functions Framework lets you write lightweight functions that run in manydifferent environments, including:
- Your local development machine
- Knative-based environments
The framework allows you to go from:
To:
All without needing to worry about writing an HTTP server or complicated request handling logic.
Features
- Spin up a local development server for quick testing
- Invoke a function in response to a request
- Automatically unmarshal events conforming to the CloudEvents spec
- Portable between serverless platforms
Installation
Install the Functions Framework via pip
:
Or, for deployment, add the Functions Framework to your requirements.txt
file:
Quickstarts
Quickstart: Hello, World on your local machine
Create an main.py
file with the following contents:
Run the following command:
Open http://localhost:8080/ in your browser and see Hello world!.
Quickstart: Set up a new project
Create a main.py
file with the following contents:
Now install the Functions Framework:
Use the functions-framework
command to start the built-in local development server:
(You can also use functions-framework-python
if you potentially have multiplelanguage frameworks installed).
Send requests to this function using curl
from another terminal window:
Quickstart: Error handling
The framework includes an error handler that is similar to theflask.Flask.errorhandler
function, which allows you to handle specific error types with a decorator:
This function will catch the ZeroDivisionError
and return a differentresponse instead.
Quickstart: Build a Deployable Container
Install Docker and the
pack
tool.Build a container from your function using the Functions buildpacks:
Start the built container:
Send requests to this function using
curl
from another terminal window:
Run your function on serverless platforms
Google Cloud Functions
This Functions Framework is based on the Python Runtime on Google Cloud Functions.
On Cloud Functions, using the Functions Framework is not necessary: you don't need to add it to your requirements.txt
file.
After you've written your function, you can simply deploy it from your local machine using the gcloud
command-line tool. Check out the Cloud Functions quickstart.
Cloud Run/Cloud Run on GKE
Once you've written your function and added the Functions Framework to your requirements.txt
file, all that's left is to create a container image. Check out the Cloud Run quickstart for Python to create a container image and deploy it to Cloud Run. You'll write a Dockerfile
when you build your container. This Dockerfile
allows you to specify exactly what goes into your container (including custom binaries, a specific operating system, and more). Here is an example Dockerfile
that calls Functions Framework.
If you want even more control over the environment, you can deploy your container image to Cloud Run on GKE. With Cloud Run on GKE, you can run your function on a GKE cluster, which gives you additional control over the environment (including use of GPU-based instances, longer timeouts and more).
Container environments based on Knative
Cloud Run and Cloud Run on GKE both implement the Knative Serving API. The Functions Framework is designed to be compatible with Knative environments. Just build and deploy your container to a Knative environment.
Configure the Functions Framework
You can configure the Functions Framework using command-line flags or environment variables. If you specify both, the environment variable will be ignored.
Command-line flag | Environment variable | Description |
---|---|---|
--host | HOST | The host on which the Functions Framework listens for requests. Default: 0.0.0.0 |
--port | PORT | The port on which the Functions Framework listens for requests. Default: 8080 |
--target | FUNCTION_TARGET | The name of the exported function to be invoked in response to requests. Default: function |
--signature-type | FUNCTION_SIGNATURE_TYPE | The signature used when writing your function. Controls unmarshalling rules and determines which arguments are used to invoke your function. Default: http ; accepted values: http , event or cloudevent |
--source | FUNCTION_SOURCE | The path to the file containing your function. Default: main.py (in the current working directory) |
--debug | DEBUG | A flag that allows to run functions-framework to run in debug mode, including live reloading. Default: False |
--dry-run | DRY_RUN | A flag that allows for testing the function build from the configuration without creating a server. Default: False |
Enable Google Cloud Functions Events
The Functions Framework can unmarshall incomingGoogle Cloud Functions event payloads to data
and context
objects.These will be passed as arguments to your function when it receives a request.Note that your function must use the event
-style function signature:
To enable automatic unmarshalling, set the function signature type to event
using the --signature-type
command-line flag or the FUNCTION_SIGNATURE_TYPE
environment variable. By default, the HTTPsignature will be used and automatic event unmarshalling will be disabled.
For more details on this signature type, see the Google Cloud Functionsdocumentation onbackground functions.
See the running example.
Enable CloudEvents
The Functions framework can also unmarshall incoming CloudEvents payloads to the cloudevent
object. This will be passed as a cloudevent to your function when it receives a request. Note that your function must use the cloudevents
-style function signature:
To enable automatic unmarshalling, set the function signature type to cloudevent
using the --signature-type
command-line flag or the FUNCTION_SIGNATURE_TYPE
environment variable. By default, the HTTP signature type will be used and automatic event unmarshalling will be disabled.
For more details on this signature type, check out the Google Cloud Functions documentation on background functions.
Advanced Examples
More advanced guides can be found in the examples/
directory.You can also find examples on using the CloudEvent Python SDK here.
Contributing
Contributions to this library are welcome and encouraged. See CONTRIBUTING for more information on how to get started.
Release historyRelease notifications | RSS feed
2.1.2
2.1.1
Pfeventtaps Framework Diagram
2.1.0
2.0.0
1.6.0
1.5.0
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.4.0rc1 pre-release
1.3.0
1.2.0
1.1.1
1.0.1
1.0.0
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size functions_framework-2.1.2-py3-none-any.whl (22.1 kB) | File type Wheel | Python version py3 | Upload date | Hashes |
Filename, size functions-framework-2.1.2.tar.gz (15.1 kB) | File type Source | Python version None | Upload date | Hashes |
Hashes for functions_framework-2.1.2-py3-none-any.whl
Algorithm | Hash digest |
---|---|
SHA256 | 1733d816ead2926c26950c65cf4e7e0531db7a85cf1e4ce1491df09c0664c515 |
MD5 | 020f922e1337e88b9afb096a859f1d87 |
BLAKE2-256 | 16d4461da88ab630896f91447f8e63eb3dc79b1c67b988dc1f7fbfb0604aa974 |
Hashes for functions-framework-2.1.2.tar.gz
Pfeventtaps Framework Free
Algorithm | Hash digest |
---|---|
SHA256 | 7945d8f5c0ea9729b4af45053e9f7858de4abffc976942b927954393821a84ab |
MD5 | 3575cbaa5016a78a433291bbef637c1a |
BLAKE2-256 | 94e44a44313854a5eaf589b5cc15f293fad4b9ddbfbeb02f1524447fdebf53f6 |