Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Create Flask application webhooks with attached handlers

Project description

# Flask-Webhook

Yet another Redis extension for Flask. `Flask-Webhook` makes use of Flask Blueprints and allows easy creation of application webhooks.

[![Latest Version](https://pypip.in/version/Flask-Webhook/badge.png)]
(https://pypi.python.org/pypi/Flask-Webhook/)
[![Downloads](https://pypip.in/download/Flask-Webhook/badge.png)]
(https://pypi.python.org/pypi/Flask-Webhook/)
[![Download format](https://pypip.in/format/Flask-Webhook/badge.png)]
(https://pypi.python.org/pypi/Flask-Webhook/)
[![License](https://pypip.in/license/Flask-Webhook/badge.png)]
(https://pypi.python.org/pypi/Flask-Webhook/)


## Supported Platforms

* OSX and Linux.
* Python 2.7
* [Flask](http://flask.pocoo.org/) 0.10.1

Probably works with other versions as well.

## Quickstart

Install:
```bash
pip install Flask-Webhook
```

Example:
```python
from flask import Flask
from flask.ext.webhook import WebHook

app = Flask(__name__)

#create webhook object (name and app are optional)
#if app is not passed in in the constructor, my_webhook.init_app(app) is needed.
my_webhook = WebHook(name='optional_webhook_name', url_prefix='/webhooks' app=app)
my_webhook.add_route('/something', methods=['GET', 'POST'])

#define a function handler to be called by the webhook
def some_function(hookrequest):
do something with the request object received by the webhook

#attach your function handler to the webhook.
#you can attach as many as you want and they all are going to be called
# () should not be included
my_webhook.handlers['some_name_for_your_handler'] = some_function
```


## Factory Example

```python
# extensions.py
from flask.ext.webhook import WebHook

my_webhook = WebHook(url_prefix='/webhooks')
```

```python
# application.py
from flask import Flask
from extensions import my_webhook

def some_function(request):
do something

def some_other_function(request):
do something else

def create_app():
app = Flask(__name__)
my_webhook.add_route('/something', methods=['GET', 'POST'])
my_webhook.handlers['action1'] = some_function
my_webhook.handlers['action2'] = some_other_function
my_webhook.init_app(app)
return app
```

```python
# manage.py
from application import create_app

app = create_app()
app.run()
```

## Changelog

#### 0.1.0

* Initial release.

Project details


Release history Release notifications

This version
History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
Flask-Webhook-0.1.0.tar.gz (3.7 kB) Copy SHA256 hash SHA256 Source None Aug 7, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page