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 start the built-in runner:

$ 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.10.8.tar.gz (145.9 kB view details)

Uploaded Source

Built Distribution

IMMP-0.10.8-py3-none-any.whl (171.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: IMMP-0.10.8.tar.gz
  • Upload date:
  • Size: 145.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for IMMP-0.10.8.tar.gz
Algorithm Hash digest
SHA256 5fe21c4a2417299e9612ee94e58b6eabcca64465a385a23a2aa63d7b246690cb
MD5 5667d2e303806f09f2cedb7fcf2b81ef
BLAKE2b-256 f5b2b1ef62db54907be499d3d6bd3a8424c2a1f2652ba2cd35fab8d68e0a9572

See more details on using hashes here.

File details

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

File metadata

  • Download URL: IMMP-0.10.8-py3-none-any.whl
  • Upload date:
  • Size: 171.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for IMMP-0.10.8-py3-none-any.whl
Algorithm Hash digest
SHA256 4309f15d0d85d3ee3a53a06538b8d826420bd7ac67bd3f0060648df3fd9bb6f8
MD5 c010313a4ae503d7823e029bc286c6b4
BLAKE2b-256 5315ed62f6ef6512aab3cb245929843244598e5bc47c57146dba3b9615945f43

See more details on using hashes here.

Supported by

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