Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Simple framwork for executing python functions via Slack

Project Description
# Yasuf — Yet Another Slack, Ummm, Framework
Very simple way of controlling your Python application via Slack.

Yasuf consist of a single, simple decorator that allows you to execute the decorated function via Slack and get it's output back, without modifying the function in any way.

Let's say you have a function `say_hello` that takes a single integer argument, prints out "Hello!" that many times and returns string describing how many times it has done so:

```
def say_hello(count):
for i in range(count):
print("Hello!")
return "I've just said Hello! {} times!".format(count)
```

Controlling this function is as simple as decorating it with the `yasuf.handle` decorator:


```
from yasuf import Yasuf

yasuf = Yasuf('slack-token')
```

You can get your token [here](https://api.slack.com/docs/oauth-test-tokens).

```
@yasuf.handle('Say hello ([0-9]+) times!', channel='#general', types=[int])
def say_hello(count):
(...)
```

The first argument of `handle` specifies the regexp that the function should respond to, where each capture group corresponds to one argument of the decorated function, `channel` specifies which channel it should be listening to and `types` is a list of functions that will be applied to the captured arguments to convert them from string to whatever the decorated function expects.

Now you can run (or run_async).

```
yasuf.run()
```

From now on whenever you type `Say hello 3 times!` Yasuf will response with a couple hellos. Or you can ask Yasuf what he knows with the built-in function 'help'.

## Installation
```python3 -m pip install --user yasuf```
Release History

Release History

This version
History Node

0.5.dev0

History Node

0.4.dev0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
Yasuf-0.5.dev0.tar.gz (3.7 kB) Copy SHA256 Checksum SHA256 Source Apr 2, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting