Client library for the Rubin Observatory Squarebot
Project description
Squarebot
Squarebot is the nexus service for ChatOps and event-driven bots for Rubin Observatory. As a Slack app, Squarebot receives events from Slack and publishes them into specific Square Events Kafka topics in the Roundtable Kubernetes cluster. Other applications on Roundtable can consume these events and act on them, such as by posting messages back to Slack or by performing some other background automation.
flowchart LR
subgraph Slack
message[Slack message]
interaction[Slack interaction]
end
subgraph sqrbot ["Squarebot"]
eventapi["/slack/event"]
interactionapi["/slack/interaction"]
message -->|HTTP POST| eventapi
interaction -->|HTTP POST| interactionapi
end
subgraph kafka ["Kafka Topics"]
topicmention["lsst.square-events.squarebot.slack.app.mention"]
topicchannel["lsst.square-events.squarebot.slack.message.channel"]
topicgroup["lsst.square-events.squarebot.slack.message.group"]
topicim["lsst.square-events.squarebot.slack.message.im"]
topicmpim["lsst.square-events.squarebot.slack.message.mpim"]
topicinteraction["lsst.square-events.squarebot.slack.interaction"]
end
eventapi --> topicmention
eventapi --> topicchannel
eventapi --> topicgroup
eventapi --> topicim
eventapi --> topicmpim
interactionapi --> topicinteraction
subgraph backends ["Backends"]
backend1["Backend 1"]
backend2["Backend 2"]
end
topicchannel --> backend1
topicgroup --> backend1
topicmention --> backend2
topicinteraction --> backend2
Slack integration is implemented at the time. We plan to add support for other event sources, such as GitHub, in the future.
Squarebot is built on top of FastAPI, a modern Python web framework, with Rubin/SQuaRE libraries Safir (FastAPI application libraries) and Kafkit (Kafka integration).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rubin-squarebot-0.7.0.tar.gz
.
File metadata
- Download URL: rubin-squarebot-0.7.0.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f0b398ed475a91c2803ae5e8343e28d6712ec5474ff0bde17f138735ee85741 |
|
MD5 | 54399f8b75c907259f2a4018352fec5f |
|
BLAKE2b-256 | 0d5329ee91f84eb71c3a766a8dd3780debbe4f1cb85f43edbc87fa510003bf6e |
File details
Details for the file rubin_squarebot-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: rubin_squarebot-0.7.0-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8de5bd50271b4c8c6f0145c4b56504f1d788cae575ffda754dbf5c4ed5ee76f7 |
|
MD5 | bfcfae2794906a61ff2bf688b61791a8 |
|
BLAKE2b-256 | 1b45f2a152b30a2b220e3f159944914016b4e864bf87767eb11f8b8e21fcb6f3 |