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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| IMMP-0.12.1.tar.gz | 148.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.