Metadata-Version: 2.1
Name: slacktools
Version: 0.0.4
Summary: Toolbelt for Slack API clients for Web API and RTM API
Home-page: https://github.com/austinpray/python-slacktools
Author: Austin Pray
Author-email: austin@austinpray.com
License: MIT
Keywords: slack slack-web slack-rtm slacktools chat chatbots bots chatops
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: System :: Networking
Classifier: Topic :: Office/Business
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7

python-slacktools
=================

A toolbelt for working with the various `Slack APIs`_ in python.

|Build Status| |Documentation Status| |PyPI - Version| |PyPI - Python Version|

.. |Build Status| image:: https://travis-ci.com/austinpray/python-slacktools.svg?branch=master
    :target: https://travis-ci.com/austinpray/python-slacktools
.. |Documentation Status| image:: https://readthedocs.org/projects/python-slacktools/badge/?version=latest
    :target: https://python-slacktools.readthedocs.io/en/latest/?badge=latest
.. |PyPI - Version| image:: https://badge.fury.io/py/slacktools.svg
    :target: https://pypi.org/project/slacktools/
.. |PyPI - Python Version| image:: https://img.shields.io/pypi/pyversions/Django.svg
    :target: https://pypi.org/project/slacktools/

Features
--------

- `Authorization utils`_ to verify |X-Slack-Signature|_
- `Message text utils`_ to do things like:
    - Format slack control sequences like ``<@USERIDXX>`` and ``<text|url>``
      with proper escaping
    - Extract mentions and grab user ids from mentions
    - Properly escape message text
- `Message sending functions`_ with partial application to reduce boilerplate
  and improve testability
- `Silly stuff`_


Check out `the docs`_ for more info and `API documentation`_.

Roadmap
-------

- Wider python support? This lib only `supports python 3 <.travis.yml>`_ right
  now. However, if someone needs it, I can add python 2 compatibility.
- 100% test coverage
- Friendly message builder API?
- Build deep links into clients

In the Wild
-----------

`austinpray/kizuna`_ is a silly chatbot that `uses this library <https://github.com/austinpray/kizuna/tree/master/vendor/python-slacktools>`_.


.. _Slack APIs: https://api.slack.com/
.. _Slack: https://api.slack.com/
.. _the docs: https://python-slacktools.readthedocs.io
.. _API documentation: https://python-slacktools.readthedocs.io/en/latest/api.html

.. |X-Slack-Signature| replace:: ``X-Slack-Signature``
.. _X-Slack-Signature: https://api.slack.com/docs/verifying-requests-from-slack
.. _Authorization utils: https://python-slacktools.readthedocs.io/en/latest/api.html#module-slacktools.authorization
.. _Message text utils: https://python-slacktools.readthedocs.io/en/latest/api.html#module-slacktools.message
.. _Message sending functions: https://python-slacktools.readthedocs.io/en/latest/api.html#module-slacktools.chat
.. _Silly stuff: https://python-slacktools.readthedocs.io/en/latest/api.html#module-slacktools.arguments
.. _austinpray/kizuna: https://github.com/austinpray/kizuna


