rpeden / prefect-discord

Prefect integrations with Discord

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

prefect-discord

PyPI

Welcome!

A collection containing a notification block making it easy to send messages and notifications from Prefect >= 2.4.1 to a Discord channel. Read on for instructions on how to use the DiscordWebhook block.

Getting Started

Python setup

Requires an installation of Python 3.7+.

We recommend using a Python virtual environment manager such as pipenv, conda or virtualenv.

These tasks are designed to work with Prefect 2. For more information about how to use Prefect, please refer to the Prefect documentation.

Installation

Install prefect-discord with pip:

pip install prefect-2-discord

Then, register to view the block on Prefect Cloud:

prefect block register -m prefect_discord

Note, to use the load method on Blocks, you must already have a block document saved through code or saved through the UI.

Creating a Discord Webhook Block

Before you start, you'll need to add a webhook to one of your Discord channels by following these instructions. When you're done, copy the webhook URL.

Via the UI

Click on the Blocks menu, then click the + button in the page header to open the block catalog: blocks menu

Find the listing for the Discord Webhook block and click Add: Discord Webhook catalog entry

Add a name for your block, paste the Discord webhook URL you copied, and click Create: Discord Webhook creation page

You'll see your new block's page: Created Discord block page

And your block is ready to use!

In Python

from prefect_discord import DiscordWebhook

my_webhook = DiscordWebhook(
    url="https://my-discord-webhook-url"
)

my_webhook.save("awesome-discord-webhook")

Use Discord Webhook Notifications

from prefect import flow
from prefect_discord import DiscordWebhook


@flow
def example_flow():
    discord_webhook_block = DiscordWebhook.load("awesome-discord-webhook")
    discord_webhook_block.notify("Hello from Prefect!")

example_flow()

When you run this code, you should see this in your Discord channel: Prefect notification in Discord

Resources

If you encounter any bugs while using prefect-discord, feel free to open an issue in the prefect-discord repository.

If you have any questions or issues while using prefect-discord, you can find help in either the Prefect Discourse forum or the Prefect Slack community.

Feel free to ⭐️ or watch prefect-discord for updates too!

Development

If you'd like to install a version of prefect-discord for development, clone the repository and perform an editable install with pip:

git clone https://github.com/rpeden/prefect-discord.git

cd prefect-discord/

pip install -e ".[dev]"

# Install linting pre-commit hooks
pre-commit install

About

Prefect integrations with Discord

License:Apache License 2.0


Languages

Language:Python 100.0%