Skip to main content

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.7.

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

Metadata

Release files for IMMP 0.12.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for IMMP 0.12.1
File Size Uploaded Provenance
IMMP-0.12.1.tar.gz 148.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for IMMP 0.12.1
File Interpreter ABI Platform
IMMP-0.12.1-py3-none-any.whl Python 3 none any Details

Total release size: 319.8 kB

Release files / IMMP-0.12.1.tar.gz

Download URL IMMP-0.12.1.tar.gz
Size 148.5 kB
Tags Source
SHA-256 checksum
How to use checksums
44bc2945bc4f7433f504bf9372ce2be2d67408e179ef913ceca22fd09df76979
BLAKE2b-256 checksum
How to use checksums
bb4f66191e0306ccfb2a703ed9dfca0be4d56a5c2ad10f199dd1ed888ad76c1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.3

Release files / IMMP-0.12.1-py3-none-any.whl

Download URL IMMP-0.12.1-py3-none-any.whl
Size 171.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd9478d1475469944ce5861d3aaa9c6b84865c8b7d064c14a66ce81f89cd1aea
BLAKE2b-256 checksum
How to use checksums
e1a81c5139aacc8226082683263a1d358622f963a7b88d8913591c5b4e6e2c2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.3

Security for IMMP 0.12.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page