Metadata-Version: 2.1
Name: IMMP
Version: 0.7.6
Summary: A modular processing platform for instant messages.
Home-page: https://immp.t.allofti.me
Author: Terrance
Author-email: immp@terrance.allofti.me
License: BSD 3-Clause License
Description: IMMP
        ====
        
        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:
        
        .. code:: 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
        
Platform: Any
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
Provides-Extra: runner
Provides-Extra: db
Provides-Extra: web
Provides-Extra: console
Provides-Extra: sync
Provides-Extra: discord
Provides-Extra: hangouts
Provides-Extra: telegram
