microsoft-teams-apps


Namemicrosoft-teams-apps JSON
Version 2.0.0a3 PyPI version JSON
download
home_pageNone
SummaryThe app package for a Microsoft Teams agent
upload_time2025-10-18 00:15:51
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseNone
keywords agents ai bot microsoft teams
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            > [!CAUTION]
> This project is in public preview. We’ll do our best to maintain compatibility, but there may be breaking changes in upcoming releases. 

# Microsoft Teams Apps Framework

<p>
    <a href="https://pypi.org/project/microsoft-teams-apps" target="_blank">
        <img src="https://img.shields.io/pypi/v/microsoft-teams-apps" />
    </a>
    <a href="https://pypi.org/project/microsoft-teams-apps" target="_blank">
        <img src="https://img.shields.io/pypi/dw/microsoft-teams-apps" />
    </a>
</p>

High-level framework for building Microsoft Teams applications.
Handles activity routing, authentication, and provides Microsoft Graph integration.

<a href="https://microsoft.github.io/teams-ai" target="_blank">
    <img src="https://img.shields.io/badge/📖 Getting Started-blue?style=for-the-badge" />
</a>

## Features

- **Activity Routing**: Decorator-based routing for different activity types
- **OAuth Integration**: Built-in OAuth flow handling for user authentication
- **Microsoft Graph Integration**: Type-safe Graph client access via `user_graph` and `app_graph` properties
- **Plugin System**: Extensible plugin architecture for adding functionality

## Basic Usage

```python
from microsoft.teams.apps import App, ActivityContext
from microsoft.teams.api import MessageActivity

app = App()

@app.on_message
async def handle_message(ctx: ActivityContext[MessageActivity]):
    await ctx.send(f"You said: {ctx.activity.text}")

# Start the app
await app.start()
```

## OAuth and Graph Integration

```python
@app.on_message
async def handle_message(ctx: ActivityContext[MessageActivity]):
    if ctx.is_signed_in:
        try:
            # Access user's Graph data
            me = await ctx.user_graph.me.get()
            await ctx.send(f"Hello {me.display_name}!")
        except (ValueError, RuntimeError, ImportError) as e:
            await ctx.send(f"Graph access failed: {e}")
    else:
        # Prompt user to sign in
        await ctx.sign_in()
```

## Optional Graph Dependencies

Microsoft Graph functionality requires additional dependencies:

```bash
# Recommended: Using uv
uv add microsoft-teams-apps[graph]

# Alternative: Using pip
pip install microsoft-teams-apps[graph]
```

If Graph dependencies are not installed, `user_graph` and `app_graph` will raise an `ImportError` when accessed. If the user is not signed in or tokens are unavailable, they will raise `ValueError`.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "microsoft-teams-apps",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "agents, ai, bot, microsoft, teams",
    "author": null,
    "author_email": "Microsoft <TeamsAISDKFeedback@microsoft.com>",
    "download_url": "https://files.pythonhosted.org/packages/86/50/131dedcad1680ae9a548a0b668914e96c40ea46d44acbc1954fd5d8f8302/microsoft_teams_apps-2.0.0a3.tar.gz",
    "platform": null,
    "description": "> [!CAUTION]\n> This project is in public preview. We\u2019ll do our best to maintain compatibility, but there may be breaking changes in upcoming releases. \n\n# Microsoft Teams Apps Framework\n\n<p>\n    <a href=\"https://pypi.org/project/microsoft-teams-apps\" target=\"_blank\">\n        <img src=\"https://img.shields.io/pypi/v/microsoft-teams-apps\" />\n    </a>\n    <a href=\"https://pypi.org/project/microsoft-teams-apps\" target=\"_blank\">\n        <img src=\"https://img.shields.io/pypi/dw/microsoft-teams-apps\" />\n    </a>\n</p>\n\nHigh-level framework for building Microsoft Teams applications.\nHandles activity routing, authentication, and provides Microsoft Graph integration.\n\n<a href=\"https://microsoft.github.io/teams-ai\" target=\"_blank\">\n    <img src=\"https://img.shields.io/badge/\ud83d\udcd6 Getting Started-blue?style=for-the-badge\" />\n</a>\n\n## Features\n\n- **Activity Routing**: Decorator-based routing for different activity types\n- **OAuth Integration**: Built-in OAuth flow handling for user authentication\n- **Microsoft Graph Integration**: Type-safe Graph client access via `user_graph` and `app_graph` properties\n- **Plugin System**: Extensible plugin architecture for adding functionality\n\n## Basic Usage\n\n```python\nfrom microsoft.teams.apps import App, ActivityContext\nfrom microsoft.teams.api import MessageActivity\n\napp = App()\n\n@app.on_message\nasync def handle_message(ctx: ActivityContext[MessageActivity]):\n    await ctx.send(f\"You said: {ctx.activity.text}\")\n\n# Start the app\nawait app.start()\n```\n\n## OAuth and Graph Integration\n\n```python\n@app.on_message\nasync def handle_message(ctx: ActivityContext[MessageActivity]):\n    if ctx.is_signed_in:\n        try:\n            # Access user's Graph data\n            me = await ctx.user_graph.me.get()\n            await ctx.send(f\"Hello {me.display_name}!\")\n        except (ValueError, RuntimeError, ImportError) as e:\n            await ctx.send(f\"Graph access failed: {e}\")\n    else:\n        # Prompt user to sign in\n        await ctx.sign_in()\n```\n\n## Optional Graph Dependencies\n\nMicrosoft Graph functionality requires additional dependencies:\n\n```bash\n# Recommended: Using uv\nuv add microsoft-teams-apps[graph]\n\n# Alternative: Using pip\npip install microsoft-teams-apps[graph]\n```\n\nIf Graph dependencies are not installed, `user_graph` and `app_graph` will raise an `ImportError` when accessed. If the user is not signed in or tokens are unavailable, they will raise `ValueError`.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "The app package for a Microsoft Teams agent",
    "version": "2.0.0a3",
    "project_urls": null,
    "split_keywords": [
        "agents",
        " ai",
        " bot",
        " microsoft",
        " teams"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "44894d0631977feae2fc2b2efdd2c0b779e5ae59bc85b66a2d821cd49b486d45",
                "md5": "09865eec9f30cf6d3a7a5ee0e4228f6d",
                "sha256": "a2e12229b9678dc8e8dde4f276c117a3a0c2d3a64929afde430a7148fdfc4f24"
            },
            "downloads": -1,
            "filename": "microsoft_teams_apps-2.0.0a3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "09865eec9f30cf6d3a7a5ee0e4228f6d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 65097,
            "upload_time": "2025-10-18T00:15:49",
            "upload_time_iso_8601": "2025-10-18T00:15:49.840610Z",
            "url": "https://files.pythonhosted.org/packages/44/89/4d0631977feae2fc2b2efdd2c0b779e5ae59bc85b66a2d821cd49b486d45/microsoft_teams_apps-2.0.0a3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8650131dedcad1680ae9a548a0b668914e96c40ea46d44acbc1954fd5d8f8302",
                "md5": "bcc535a977a6a916214541ee7101f53f",
                "sha256": "5f7be6ee80eef6c9cad17968249ee78e9cdc05620549ec143c86f485fb5d173f"
            },
            "downloads": -1,
            "filename": "microsoft_teams_apps-2.0.0a3.tar.gz",
            "has_sig": false,
            "md5_digest": "bcc535a977a6a916214541ee7101f53f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 60483,
            "upload_time": "2025-10-18T00:15:51",
            "upload_time_iso_8601": "2025-10-18T00:15:51.010569Z",
            "url": "https://files.pythonhosted.org/packages/86/50/131dedcad1680ae9a548a0b668914e96c40ea46d44acbc1954fd5d8f8302/microsoft_teams_apps-2.0.0a3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-18 00:15:51",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "microsoft-teams-apps"
}
        
Elapsed time: 3.94387s