Skip to main content

A modular processing platform for instant messages.

Project description

A modular processing platform for instant messages.

Requirements

This project uses the latest and greatest Python features (that is, native asyncio syntax and asynchronous generators), and therefore requires at least Python 3.6.

Additional modules are required for most plugs and hooks – consult the docs for each module you want to use to check its own requirements, or use the included requirements list to install all possible dependencies for built-in modules.

Terminology

Network

An external service that provides message-based communication.

Message

A unit of data, which can include text, images, attachments, authorship, and so on.

User

An individual or service which can author messages on a network.

Plug

A handler for all communication with an external network, transforming the network’s content to message objects and back again.

Channel

A single room in an external network – a source of messages, and often a container of users.

Group

A collection of plugs and channels.

Hook

A worker that processes a stream of incoming messages, in whichever way it sees fit.

Basic usage

Prepare a config file in a format of your choosing, e.g. in YAML:

plugs:
  demo:
    path: demo.DemoPlug
    config:
      api-key: xyzzy

channels:
  foo:
    plug: demo
    source: 12345
  bar:
    plug: demo
    source: 98765

hooks:
  test:
    path: test.TestHook
    config:
      channels: [foo, bar]
      args: [123, 456]

All labels under the top-level names are effectively free text, and are used to reference from other sections.

Then run IMMP via Python as a module:

$ python -m immp config.yaml

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

IMMP-0.7.0.tar.gz (113.2 kB view details)

Uploaded Source

Built Distribution

IMMP-0.7.0-py3-none-any.whl (139.6 kB view details)

Uploaded Python 3

File details

Details for the file IMMP-0.7.0.tar.gz.

File metadata

  • Download URL: IMMP-0.7.0.tar.gz
  • Upload date:
  • Size: 113.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.4

File hashes

Hashes for IMMP-0.7.0.tar.gz
Algorithm Hash digest
SHA256 a94ab9fb267ee33705cbb47f66e9ad402cdc79a9e39691a7e29543317f9f0731
MD5 f7c99d5c81796c1f675787312159fef3
BLAKE2b-256 6eba879f042ac78a4b269c3f09ac19c64b40766d82ff4b56ac552a0237c8c8fa

See more details on using hashes here.

File details

Details for the file IMMP-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: IMMP-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 139.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.4

File hashes

Hashes for IMMP-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d950e43e8f36ba4aabb424dcda47441768c5c861568029f8e0d7d6f330ed3d4c
MD5 7565a9f391e60b964c56ce1a5ecae206
BLAKE2b-256 b3a30bac14e2966ffdefeabd1c0cbba58a5a3a6bd36617e0e0dc3858b1082726

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