Skip to main content

Utility functions to send Slack notifications using slack_sdk.

Project description

py2slack

py2slack provides utility functions to send notifications to Slack using the slack_sdk library.

Installation

Install the package via pip:

pip install py2slack

Configuration

Before using the package, you must provide your Slack credentials and default channel information. To do so, prepare one of the following configuration files in your project root (and add them to your .gitignore to protect sensitive data):

Option 1: Using a .env file

Create a file named .env with the following contents:

SLACK_OAUTH_TOKEN=<Your OAuth token>
SLACK_DEFAULT_CHANNEL=<Slack default channel ID (not the name)>

Note: The .env file requires the python-dotenv library. Install it via pip install python-dotenv if you choose this option.

Option 2: Using a slack_config.json file

Alternatively, create a file named slack_config.json with the following JSON content:

{
    "oauth_token": "<Your OAuth token>",
    "default_channel": "<Slack default channel ID (not the name)>"
}

OAuth Token Setup

To use py2slack, you need to create a Slack App Bot and obtain an OAuth token. Refer to this guide for instructions.
Your Bot must have at least the following token scopes:

  • chat:write – to send messages as your bot.
  • files:write – to upload, edit, and delete files as your bot.
  • groups:read – to view basic information about private channels your bot is added to.

After creating your Bot, make sure to invite it to the Slack channel where you want to send notifications.

Usage

After installing the package and preparing your configuration file, you can send messages as follows:

from py2slack import send_slack

# Send a simple text notification
send_slack("Hello, Slack!")

You can also pass a file or specify a channel by using the additional parameters of the send_slack function. Refer to the function’s documentation for further details.

Requirements

  • slack_sdk: Install with pip install slack_sdk
  • python-dotenv: Required only if you are using a .env file for configuration (pip install python-dotenv)

Notes

  • Configuration: Prepare either the .env file or the slack_config.json file—not both.
  • Security: Ensure that your configuration files (i.e., .env and slack_config.json) are added to your .gitignore to avoid committing sensitive data.
  • Module Import: The package’s __init__.py is set up to allow you to import the send_slack function directly:
    • If __init__.py contains from .slack_utils import send_slack, you can use:
      from py2slack import send_slack
      
    • This design leverages Python’s module system for cleaner imports.

License

This project is licensed under the MIT License. See the LICENSE file for details.

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

py2slack-0.1.0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py2slack-0.1.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file py2slack-0.1.0.tar.gz.

File metadata

  • Download URL: py2slack-0.1.0.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.19

File hashes

Hashes for py2slack-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f67587b6df08f39bb9d0d0f603d41b2d6b86db843132bb0671662ff267810673
MD5 743bc4a39d8a4ce2c9c032bc376f1cd9
BLAKE2b-256 58557c0f6abcabb492d792df08643be7eb908a552288ac654ff655b14a59a246

See more details on using hashes here.

File details

Details for the file py2slack-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: py2slack-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.19

File hashes

Hashes for py2slack-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dadfee80e57700e0ddba680e747b73d7d1fb38a579c3d77f94cf334b31f34ab9
MD5 9c3ba3d7b82fb05a30c1fc930859f734
BLAKE2b-256 bcf6d6052918090e3c2619381f0004c66017a86dad5c997d187d3dce51138e6d

See more details on using hashes here.

Supported by

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