%global _empty_manifest_terminate_build 0
Name: python-slackblocks
Version: 0.3.1
Release: 1
Summary: Python wrapper for the Slack Blocks API
License: BSD-3-Clause
URL: https://pypi.org/project/slackblocks/
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/cc/7b/c96af03ff99ea5efdd651337966e559d07f0200bebaca4c04b7aaabb5292/slackblocks-0.3.1.tar.gz
BuildArch: noarch
%description
# slackblocks
![PyPI - License](https://img.shields.io/pypi/l/slackblocks)
![Python Versions](https://img.shields.io/pypi/pyversions/slackblocks)
![PyPI](https://img.shields.io/pypi/v/slackblocks?color=yellow&label=PyPI&logo=python&logoColor=white)
[![Downloads](https://pepy.tech/badge/slackblocks)](https://pepy.tech/project/slackblocks)
[![Build Status](https://github.com/nicklambourne/slackblocks/actions/workflows/unit-tests.yml/badge.svg?branch=master)](https://github.com/nicklambourne/slackblocks/actions)
## What is it?
`slackblocks` is a Python API for building messages in the fancy new Slack Block Kit API.
It was created by [Nicholas Lambourne](https://github.com/nicklambourne) for the [UQCS Slack Bot](https://github.com/UQComputingSociety/uqcsbot) because he hates writing JSON.
N.B: This is still WIP software and some of the more tricky interactive Block elements have yet to be implemented.
## Requirements
`slackblocks` requires Python >= 3.6.
As of version 0.1.0 it has no dependencies outside the Python standard library.
## Installation
```bash
pip install slackblocks
```
## Usage
```python
from slackblocks import Message, SectionBlock
block = SectionBlock("Hello, world!")
message = Message(channel="#general", blocks=block)
message.json()
```
Will produce the following JSON string:
```json
{
"channel": "#general",
"mrkdwn": true,
"blocks": [
{
"type": "section",
"block_id": "992ceb6b-9ad4-496b-b8e6-1bd8a632e8b3",
"text": {
"type": "mrkdwn",
"text": "Hello, world!",
"verbatim": false
}
}
]
}
```
Which can be sent as payload to the Slack message API HTTP endpoints.
Of more practical uses is the ability to unpack the objects directly into
the Python Slack Client in order to send messages:
```python
from os import environ
from slack import WebClient
from slackblocks import Message, SectionBlock
client = WebClient(token=environ["SLACK_API_TOKEN"])
block = SectionBlock("Hello, world!")
message = Message(channel="#general", blocks=block)
response = client.chat_postMessage(**message)
```
Note the `**` operator in front of the `message` object.
## Can I use this in my project?
Yes, please do! The code is all open source and BSD-3.0 licensed.
%package -n python3-slackblocks
Summary: Python wrapper for the Slack Blocks API
Provides: python-slackblocks
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-slackblocks
# slackblocks
![PyPI - License](https://img.shields.io/pypi/l/slackblocks)
![Python Versions](https://img.shields.io/pypi/pyversions/slackblocks)
![PyPI](https://img.shields.io/pypi/v/slackblocks?color=yellow&label=PyPI&logo=python&logoColor=white)
[![Downloads](https://pepy.tech/badge/slackblocks)](https://pepy.tech/project/slackblocks)
[![Build Status](https://github.com/nicklambourne/slackblocks/actions/workflows/unit-tests.yml/badge.svg?branch=master)](https://github.com/nicklambourne/slackblocks/actions)
## What is it?
`slackblocks` is a Python API for building messages in the fancy new Slack Block Kit API.
It was created by [Nicholas Lambourne](https://github.com/nicklambourne) for the [UQCS Slack Bot](https://github.com/UQComputingSociety/uqcsbot) because he hates writing JSON.
N.B: This is still WIP software and some of the more tricky interactive Block elements have yet to be implemented.
## Requirements
`slackblocks` requires Python >= 3.6.
As of version 0.1.0 it has no dependencies outside the Python standard library.
## Installation
```bash
pip install slackblocks
```
## Usage
```python
from slackblocks import Message, SectionBlock
block = SectionBlock("Hello, world!")
message = Message(channel="#general", blocks=block)
message.json()
```
Will produce the following JSON string:
```json
{
"channel": "#general",
"mrkdwn": true,
"blocks": [
{
"type": "section",
"block_id": "992ceb6b-9ad4-496b-b8e6-1bd8a632e8b3",
"text": {
"type": "mrkdwn",
"text": "Hello, world!",
"verbatim": false
}
}
]
}
```
Which can be sent as payload to the Slack message API HTTP endpoints.
Of more practical uses is the ability to unpack the objects directly into
the Python Slack Client in order to send messages:
```python
from os import environ
from slack import WebClient
from slackblocks import Message, SectionBlock
client = WebClient(token=environ["SLACK_API_TOKEN"])
block = SectionBlock("Hello, world!")
message = Message(channel="#general", blocks=block)
response = client.chat_postMessage(**message)
```
Note the `**` operator in front of the `message` object.
## Can I use this in my project?
Yes, please do! The code is all open source and BSD-3.0 licensed.
%package help
Summary: Development documents and examples for slackblocks
Provides: python3-slackblocks-doc
%description help
# slackblocks
![PyPI - License](https://img.shields.io/pypi/l/slackblocks)
![Python Versions](https://img.shields.io/pypi/pyversions/slackblocks)
![PyPI](https://img.shields.io/pypi/v/slackblocks?color=yellow&label=PyPI&logo=python&logoColor=white)
[![Downloads](https://pepy.tech/badge/slackblocks)](https://pepy.tech/project/slackblocks)
[![Build Status](https://github.com/nicklambourne/slackblocks/actions/workflows/unit-tests.yml/badge.svg?branch=master)](https://github.com/nicklambourne/slackblocks/actions)
## What is it?
`slackblocks` is a Python API for building messages in the fancy new Slack Block Kit API.
It was created by [Nicholas Lambourne](https://github.com/nicklambourne) for the [UQCS Slack Bot](https://github.com/UQComputingSociety/uqcsbot) because he hates writing JSON.
N.B: This is still WIP software and some of the more tricky interactive Block elements have yet to be implemented.
## Requirements
`slackblocks` requires Python >= 3.6.
As of version 0.1.0 it has no dependencies outside the Python standard library.
## Installation
```bash
pip install slackblocks
```
## Usage
```python
from slackblocks import Message, SectionBlock
block = SectionBlock("Hello, world!")
message = Message(channel="#general", blocks=block)
message.json()
```
Will produce the following JSON string:
```json
{
"channel": "#general",
"mrkdwn": true,
"blocks": [
{
"type": "section",
"block_id": "992ceb6b-9ad4-496b-b8e6-1bd8a632e8b3",
"text": {
"type": "mrkdwn",
"text": "Hello, world!",
"verbatim": false
}
}
]
}
```
Which can be sent as payload to the Slack message API HTTP endpoints.
Of more practical uses is the ability to unpack the objects directly into
the Python Slack Client in order to send messages:
```python
from os import environ
from slack import WebClient
from slackblocks import Message, SectionBlock
client = WebClient(token=environ["SLACK_API_TOKEN"])
block = SectionBlock("Hello, world!")
message = Message(channel="#general", blocks=block)
response = client.chat_postMessage(**message)
```
Note the `**` operator in front of the `message` object.
## Can I use this in my project?
Yes, please do! The code is all open source and BSD-3.0 licensed.
%prep
%autosetup -n slackblocks-0.3.1
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-slackblocks -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Tue May 30 2023 Python_Bot - 0.3.1-1
- Package Spec generated