Metadata-Version: 2.1
Name: ms-teams
Version: 0.1.0
Summary: Helper library to construct microsoft teams connector cards
Home-page: https://github.com/HarshadRanganathan/ms-teams
Author: Harshad Ranganathan
Author-email: rharshad93@gmail.com
License: MIT
Description: [![Build Status](https://travis-ci.com/HarshadRanganathan/ms-teams.svg?branch=master)](https://travis-ci.com/HarshadRanganathan/ms-teams)
        
        # ms-teams
        
        Helper library to construct microsoft teams connector card messages.
        
        This library supports building:
        1. [Legacy Message Card](https://docs.microsoft.com/en-us/outlook/actionable-messages/message-card-reference)
        2. [Adaptive Message Card](https://docs.microsoft.com/en-us/outlook/actionable-messages/adaptive-card) (Not yet supported in teams connector)
        
        ## Usage
        
        ### Legacy Message Card
        
        Let's build below message card using ms-teams library.
        
        ![Message Card](https://github.com/HarshadRanganathan/ms-teams/blob/master/images/Message_Card.png?raw=true)
        
        ```python
        # imports
        from msteams.messagecard.fact import Fact
        from msteams.messagecard.section import Section
        from msteams.messagecard.card import MessageCard
        
        # Create Activity Section
        activity_section = Section()\
        	.activity_group(activity_image='https://www.shareicon.net/data/32x32/2016/07/16/634601_python_512x512.png',
        	                activity_title='Description',
        	                activity_text='Helper library to construct microsoft teams connector card messages')\
        	.build()
        
        # Add activity section to the message card
        message_card = MessageCard().title('ms-teams')\
            .summary('Helper library to construct microsoft teams connector card messages')\
            .theme_color('FF0000')\
            .section(activity_section)
        
        # Create facts
        pkg_info = Section()\
            .fact(Fact('URL', 'https://github.com/HarshadRanganathan/ms-teams').build())\
            .fact(Fact('AUTHOR', 'Harshad Ranganathan').build())\
            .build()
        
        # Add facts to the message card and construct the message
        payload = message_card.section(pkg_info).build()
        ```
        
        
        ### Adaptive Card
        
        You can use [Card Playground](https://messagecardplayground.azurewebsites.net/) to craft your adaptive cards and build your messages.
        
        Refer [Adaptive Card Schema](https://docs.microsoft.com/en-us/adaptive-cards/authoring-cards/card-schema) for authoring your cards. 
        
        Let's build below adaptive card using ms-teams library.
        
        ![Adaptive Card](https://github.com/HarshadRanganathan/ms-teams/blob/master/images/Adaptive_Card.png?raw=true)
        
        ```python
        # imports
        from msteams.adaptivecard.elements.image import Image
        from msteams.adaptivecard.elements.text_block import TextBlock
        from msteams.adaptivecard.containers.column import Column
        from msteams.adaptivecard.containers.column_set import ColumnSet
        from msteams.adaptivecard.containers.container import Container
        from msteams.adaptivecard.containers.fact_set import FactSet
        from msteams.adaptivecard.containers.fact import Fact
        from msteams.adaptivecard.card import AdaptiveCard
        
        # Create Title using TextBlock (Displays text, allowing control over font sizes, weight, and color.)
        title = TextBlock('ms-teams').separator(True).size('Medium').weight('Bolder').build()
        
        # Create Activity Block (Image, Title, Subtitle)
        activity_image = Image('https://www.shareicon.net/data/32x32/2016/07/16/634601_python_512x512.png').style('Person').size('small').build()
        activity_title = TextBlock('Description').weight('Bolder').wrap(True).build()
        activity_text = TextBlock('Helper library to construct microsoft teams connector card messages').spacing('None').wrap(True).build()
        
        # Create ColumnSet which allows elements to sit side-by-side
        activity_image_col = Column('auto').element(activity_image).build()
        activity_text_col = Column('stretch').element(activity_title).element(activity_text).build()
        activity_grp = ColumnSet().column(activity_image_col).column(activity_text_col).build()
        
        # Create Container to group items together
        header = Container().element(title).element(activity_grp).build()
        
        # Add the container to the adaptive card
        adaptive_card = AdaptiveCard().container(header)
        
        # Add series of facts to the Container
        pkg_info = Container()
        
        basic = FactSet(separator=True)\
            .fact(Fact('URL', 'https://github.com/HarshadRanganathan/ms-teams').build()) \
            .fact(Fact('AUTHOR', 'Harshad Ranganathan').build()) \
            .fact(Fact('LICENSE', 'MIT').build()) \
            .build()
            
        keywords = FactSet(separator=True) \
            .fact(Fact('KEYWORDS', 'Microsoft Teams').build()) \
            .build()
            
        classifiers = FactSet(separator=True) \
            .fact(Fact('CLASSIFIERS', 'Programming Language :: Python :: 3.7\n\n'
                                      'License :: OSI Approved :: MIT License\n\n'
                                      'Operating System :: OS Independent').build()) \
            .build()
                
        pkg_info.element(basic)
        pkg_info.element(keywords)
        pkg_info.element(classifiers)
        
        # Build the container
        body = pkg_info.build()
        
        # Add facts container to the adaptive card and generate the payload message
        payload = adaptive_card.container(body).build()
        ```
Keywords: Microsoft Teams
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
Description-Content-Type: text/markdown
