Metadata-Version: 2.1
Name: Chatty
Version: 0.0.2
Summary: A multi-platform chat bot framework
Home-page: https://github.com/hosford42/Chatty
Author: Aaron Hosford
Author-email: hosford42@gmail.com
License: MIT
Download-URL: https://pypi.org/project/Chatty
Description: # Chatty
        
        *A multi-platform chat bot framework*
        
        
        ## Description
        
        Chatty is a Python 3 package designed to map any chat platform to the same
        standardized interface. The goal is to allow a chat bot to be remapped 
        from one platform or protocol to another, or even to multiple platforms
        at the same time, with nothing more than a change to a configuration file.
        
        
        ## Current Development Status
        
        Chatty is brand new, and has currently only been tested for basic message
        delivery using email (imap & smtp, but not pop3 yet) and xmpp. Support for
        Slack is underway. See the [TODO list] for a list of platforms & protocols 
        that will (hopefully) eventually be added.
        
        
        ## Contributing
        
        If you have a need for a specific platform or protocol to be supported,
        I'll be happy to accept pull requests. If you're looking to contribute 
        but need a place to start, please see the [TODO list]. There are plenty of 
        platforms and functionality yet to be added. Each supported platform has 
        its own module in the [chatty/sessions] folder, and its dependencies 
        should be added to the `extras_require` parameter in [setup.py]. Tests
        go in the [test_chatty] folder and are named with `test_` prefixed to the 
        name of the module being tested. 
        
        Submitted code should adhere to [pep8 guidelines] and should, in general,
        follow the conventions established elsewhere in the Chatty code base. For 
        the sake of clarity, please note that by submitting a pull request, you 
        agree, as per standard practice, and also the [GitHub terms of service] to 
        make your code available under the [license] governing this project.
        
        
        ## Design
        
        The design of Chatty is object-oriented, and centers around 3 core 
        abstractions:
        
        * **Signals**: A signal is any single indivisible element of communication,
          such as a message or a notification, which may or may not contain
          content or data of some sort. Signals always come with certain attached
          *metadata* which determines where the signal originated, who it was
          sent to, when it was sent, etc.
        * **Bots**: A bot is an endpoint where inbound signals are handled, and
          outbound signals are generated.
        * **Sessions**: A session is an open channel over which signals can be
          sent and/or received.
        
        By default, signals arrive and are sent asynchronously. The 
        `SynchronizedBot` wrapper can be used to ensure receipt and sending
        of signals is fully synchronized from the perspective of the bot.
        
        
        [chatty/sessions]: https://github.com/hosford42/Chatty/tree/master/chatty/sessions
        [GitHub terms of service]: https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license
        [license]: https://github.com/hosford42/Chatty/blob/master/LICENSE
        [pep8 guidelines]: https://www.python.org/dev/peps/pep-0008/
        [setup.py]: https://github.com/hosford42/Chatty/blob/master/setup.py
        [test_chatty]: https://github.com/hosford42/Chatty/tree/master/test_chatty 
        [TODO list]: https://github.com/hosford42/Chatty/blob/master/TODO.md
        
Keywords: chat bot chatbot AI artificial intelligence email xmpp IM message text messaging framework slack session conversation interactive platform multi-platform window local remote protocol
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Telecommunications Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Communications :: Email
Classifier: Topic :: Internet :: XMPP
Classifier: Topic :: Multimedia
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Topic :: Text Processing :: Linguistic
Description-Content-Type: text/markdown
Provides-Extra: tkinter
Provides-Extra: xmpp
Provides-Extra: slack
