Skip to main content

A collection enabling integration between Prefect 2.4.1+ and Discord.

Project description

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 git+https://github.com/rpeden/prefect-discord.git

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prefect-2-discord-0.1.1.tar.gz (25.7 kB view hashes)

Uploaded Source

Built Distribution

prefect_2_discord-0.1.1-py3-none-any.whl (9.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page