Skip to main content

A Pythonic interface for building IFTTT plugins routed over email.

Project description

# ifttt
helpers for connecting [IFTTT](http://ifttt.com) with any other service via `email`

## what?

[IFTTT](http://ifttt.com) provides an interface to an amazing number of services, but since they
lack their own API and have a closed submission process, it's difficult to integrate it into
your applications.

By creating a set of transformations for routing IFTTT channels to email,
we can pass structured data to custom callback functions – `ifthis` – or listen to other services and send emails which can be processed by IFTTT - `thenthat`.

## installation / dependencies

```
pip install ifttt
```

Our implementation is written and native python 2.7 and has no dependencies.

## examples

### If This ...

```python
from ifttt import ifthis

pattern = pattern = {
"user_name": "{{UserName}}",
"published": "{{CreatedAt}}",
"short_url": "{{LinkToTweet}}",
"text": "{{Text}}"
}

@ifthis('twitter', pattern=pattern)
def twitter(msg):
import os
print msg
os.system('say {text}'.format(**msg['body']))


# when we run this script it will listen indefinitely for new messages
# on this routing key
if __name__=="__main__":
twitter()

```

### Channels (In Progress!, Please Contributes)
```python
from ifttt import channels
from pprint import pprint

pprint(channels) ## a simple hash of channel => pattern
```

### configuration

export these environmental variables:

```bash
export IFTTT_USERNAME='username@domain.com'
export IFTTT_PASSWORD='password'
export IFTTT_IMAP_SERVER='mail.domain.com'
export IFTTT_IMAP_PORT=993
export IFTTT_SMTP_SERVER='mail.domain.com'
export IFTTT_SMTP_PORT=587
```

## TODO
- [ ] Delete Messages
- [ ] Create [comprehensive libraries of channels](ifttt/lib.py)
- [ ] Persistent caching so duplicates arent emitted.

Project details


Download files

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

Source Distribution

ifttt-0.1.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

ifttt-0.1.0.macosx-10.10-intel.exe (70.3 kB view details)

Uploaded Source

File details

Details for the file ifttt-0.1.0.tar.gz.

File metadata

  • Download URL: ifttt-0.1.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ifttt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0031c3547b3a9e1cea68abf8e86766992cf7fe408f80b9c3ef4f28ba15cbce84
MD5 62fe1c13758b284f41d62b3c1dc13998
BLAKE2b-256 c3e90a1c7d05f11c96600df99a5603d162af468a93309359243a0cf203012664

See more details on using hashes here.

File details

Details for the file ifttt-0.1.0.macosx-10.10-intel.exe.

File metadata

File hashes

Hashes for ifttt-0.1.0.macosx-10.10-intel.exe
Algorithm Hash digest
SHA256 1f4296c4eb4f8cec39bf7210467b6a7f0094934659bd7625b7ba8db11604b5ae
MD5 5b1e83c70db32a13817e251804b7e70f
BLAKE2b-256 b616e85b332d8e5fdd7e7bed8e46c27d1045af1b0ff1eb725a1e3f59567e3645

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page