Skip to content

Commit a8a8d1e

Browse files
Update Readme's
1 parent d9b8cae commit a8a8d1e

13 files changed

Lines changed: 536 additions & 1328 deletions

File tree

  • libraries
    • microsoft-agents-a365-notifications
    • microsoft-agents-a365-observability-core
    • microsoft-agents-a365-observability-extensions-agentframework
    • microsoft-agents-a365-observability-extensions-langchain
    • microsoft-agents-a365-observability-extensions-openai
    • microsoft-agents-a365-observability-extensions-semantickernel
    • microsoft-agents-a365-runtime
    • microsoft-agents-a365-tooling-extensions-agentframework
    • microsoft-agents-a365-tooling-extensions-azureaifoundry
    • microsoft-agents-a365-tooling-extensions-openai
    • microsoft-agents-a365-tooling-extensions-semantickernel
    • microsoft-agents-a365-tooling

README.md

Lines changed: 128 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,134 @@
1-
# Microsoft Agent 365 Python SDK
1+
# Microsoft Agents A365 SDK - Python
22

3-
The Microsoft Agent365 SDK provides comprehensive observability, tooling, and runtime capabilities for AI agents and tools built with Python.
3+
[![PyPI](https://img.shields.io/pypi/v/microsoft-agents-a365-observability-core?label=PyPI&logo=pypi)](https://pypi.org/search/?q=microsoft-agents-a365)
4+
[![PyPI Downloads](https://img.shields.io/pypi/dm/microsoft-agents-a365-observability-core?label=Downloads&logo=pypi)](https://pypi.org/search/?q=microsoft-agents-a365)
5+
[![Build Status](https://img.shields.io/github/actions/workflow/status/microsoft/Agent365-python/build.yml?branch=main&label=Build&logo=github)](https://github.com/microsoft/Agent365-python/actions)
6+
[![License](https://img.shields.io/github/license/microsoft/Agent365-python?label=License)](LICENSE.md)
7+
[![Python Version](https://img.shields.io/badge/Python-3.10%2B-3776AB?logo=python)](https://www.python.org/)
8+
[![Contributors](https://img.shields.io/github/contributors/microsoft/Agent365-python?label=Contributors&logo=github)](https://github.com/microsoft/Agent365-python/graphs/contributors)
49

5-
## 📚 Library Documentation
10+
The Microsoft Agents A365 SDK extends the Microsoft 365 Agents SDK with enterprise-grade capabilities for building sophisticated agents. This SDK provides comprehensive tooling for observability, notifications, runtime utilities, and development tools that help developers create production-ready agents for platforms including M365, Teams, Copilot Studio, and Webchat.
611

7-
Each library includes comprehensive documentation:
12+
The Microsoft Agents A365 SDK focuses on four core areas:
813

9-
| Library | Purpose | Documentation |
10-
|---------|---------|---------------|
11-
| **Observability Core** | Core telemetry and tracing | [`/libraries/microsoft-agents-a365-observability-core/README.md`](./libraries/microsoft-agents-a365-observability-core/README.md) |
12-
| **Runtime** | Environment management and utilities | [`/libraries/microsoft-agents-a365-runtime/README.md`](./libraries/microsoft-agents-a365-runtime/README.md) |
13-
| **Tooling** | MCP server configuration and utilities | [`/libraries/microsoft-agents-a365-tooling/README.md`](./libraries/microsoft-agents-a365-tooling/README.md) |
14-
| **OpenAI Extensions** | OpenAI integration and observability | [`/libraries/microsoft-agents-a365-observability-extensions-openai/README.md`](./libraries/microsoft-agents-a365-observability-extensions-openai/README.md) |
15-
| **LangChain Extensions** | LangChain integration and observability | [`/libraries/microsoft-agents-a365-observability-extensions-langchain/README.md`](./libraries/microsoft-agents-a365-observability-extensions-langchain/README.md) |
16-
| **Semantic Kernel Extensions** | Semantic Kernel integration | [`/libraries/microsoft-agents-a365-observability-extensions-semantickernel/README.md`](./libraries/microsoft-agents-a365-observability-extensions-semantickernel/README.md) |
14+
- **Observability**: Comprehensive tracing, caching, and monitoring capabilities for agent applications
15+
- **Notifications**: Agent notification services and models for handling user notifications
16+
- **Runtime**: Core utilities and extensions for agent runtime operations
17+
- **Tooling**: Developer tools and utilities for building sophisticated agent applications
1718

18-
## 📋 **Telemetry**
19+
## Current Project State
1920

20-
Data Collection. The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.
21+
This project is currently in active development. Packages are published to PyPI as they become available.
22+
23+
### Public PyPI feed
24+
25+
The best way to consume this SDK is via our PyPI packages found here: [pypi.org](https://pypi.org/search/?q=microsoft-agents-a365). All packages begin with **microsoft-agents-a365**.
26+
27+
## Working with this codebase
28+
29+
### Prerequisites
30+
31+
- Python 3.10 or later
32+
- pip or uv package manager
33+
- Git
34+
35+
### Building the project
36+
37+
1. Clone the repository:
38+
39+
```bash
40+
git clone https://github.com/microsoft/Agent365-python.git
41+
cd Agent365-python
42+
```
43+
44+
2. Create a virtual environment:
45+
46+
```bash
47+
python -m venv .venv
48+
source .venv/bin/activate # On Windows: .venv\Scripts\activate
49+
```
50+
51+
3. Build the packages:
52+
53+
```bash
54+
# Set the version
55+
export AGENT365_PYTHON_SDK_PACKAGE_VERSION="0.1.0" # On Windows: $env:AGENT365_PYTHON_SDK_PACKAGE_VERSION = "0.1.0"
56+
57+
# Build all packages
58+
uv build --all-packages --wheel
59+
```
60+
61+
4. Run tests:
62+
63+
```bash
64+
pytest tests/
65+
```
66+
67+
For more detailed build instructions, see the [BUILD.md](BUILD.md).
68+
69+
## Project Structure
70+
71+
- **libraries/microsoft-agents-a365-notifications**: Microsoft Agents A365 Notifications - Agent notification services and models
72+
- **libraries/microsoft-agents-a365-observability-core**: Microsoft Agents A365 Observability Core - Core observability functionality
73+
- **libraries/microsoft-agents-a365-observability-extensions-agentframework**: Agent Framework observability extensions
74+
- **libraries/microsoft-agents-a365-observability-extensions-langchain**: LangChain observability extensions
75+
- **libraries/microsoft-agents-a365-observability-extensions-openai**: OpenAI observability extensions
76+
- **libraries/microsoft-agents-a365-observability-extensions-semantickernel**: Semantic Kernel observability extensions
77+
- **libraries/microsoft-agents-a365-runtime**: Microsoft Agents A365 Runtime - Core runtime utilities and extensions
78+
- **libraries/microsoft-agents-a365-tooling**: Microsoft Agents A365 Tooling - Agent tooling and MCP integration
79+
- **libraries/microsoft-agents-a365-tooling-extensions-agentframework**: Agent Framework tooling extensions
80+
- **libraries/microsoft-agents-a365-tooling-extensions-azureaifoundry**: Azure AI Foundry tooling extensions
81+
- **libraries/microsoft-agents-a365-tooling-extensions-openai**: OpenAI tooling extensions
82+
- **libraries/microsoft-agents-a365-tooling-extensions-semantickernel**: Semantic Kernel tooling extensions
83+
- **samples/**: For sample applications, see the [Agent365-Samples Repository](https://github.com/microsoft/Agent365-Samples/tree/main/python)
84+
- **tests/**: Unit and integration tests
85+
86+
## Support
87+
88+
For issues, questions, or feedback:
89+
90+
- **Issues**: Please file issues in the [GitHub Issues](https://github.com/microsoft/Agent365-python/issues) section
91+
- **Documentation**: See the [Microsoft Agents A365 Developer Documentation](https://learn.microsoft.com/en-us/microsoft-agent-365/developer/)
92+
- **Security**: For security issues, please see [SECURITY.md](SECURITY.md)
93+
94+
## Contributing
95+
96+
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit <https://cla.opensource.microsoft.com>.
97+
98+
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
99+
100+
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
101+
102+
## Trademarks
103+
104+
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
105+
106+
## Useful Links
107+
108+
### Microsoft 365 Agents SDK
109+
110+
The core SDK for building conversational AI agents for Microsoft 365 platforms.
111+
112+
- [Microsoft 365 Agents SDK](https://aka.ms/agents)
113+
- [Agents-for-net Repository](https://github.com/Microsoft/Agents-for-net)
114+
- [Agents-for-js Repository](https://github.com/Microsoft/Agents-for-js)
115+
- [Agents-for-python Repository](https://github.com/Microsoft/Agents-for-python)
116+
- [Official Agents Documentation](https://learn.microsoft.com/en-us/microsoft-365/agents-sdk/)
117+
118+
### Microsoft Agents A365 SDK
119+
120+
Enterprise-grade extensions for observability, notifications, runtime utilities, and developer tools.
121+
122+
- [Agent365-dotnet Repository](https://github.com/microsoft/Agent365-dotnet)
123+
- [Agent365-python Repository](https://github.com/microsoft/Agent365-python) - You are here
124+
- [Agent365-nodejs Repository](https://github.com/microsoft/Agent365-nodejs)
125+
- [Agent365-Samples Repository](https://github.com/microsoft/Agent365-Samples)
126+
- [Microsoft Agents A365 Developer Documentation](https://learn.microsoft.com/en-us/microsoft-agent-365/developer/)
127+
128+
### Additional Resources
129+
130+
- [Python Documentation](https://learn.microsoft.com/en-us/python/api/?view=m365-agents-sdk&preserve-view=true)
131+
132+
## Data Collection Notice
133+
134+
The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at <https://go.microsoft.com/fwlink/?LinkID=824704>. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.
Lines changed: 57 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -1,140 +1,73 @@
1-
# Microsoft Agent 365 Notifications
2-
[![PyPI version](https://badge.fury.io/py/microsoft-agents-a365-notifications.svg)](https://badge.fury.io/py/microsoft-agents-a365-notifications)
1+
# microsoft-agents-a365-notifications
32

4-
Notification and messaging extensions for AI agent applications built with the Microsoft Agent 365 SDK. Enable your agents to handle rich notifications from Microsoft 365 applications like Word, Excel, PowerPoint, and Email.
3+
[![PyPI](https://img.shields.io/pypi/v/microsoft-agents-a365-notifications?label=PyPI&logo=pypi)](https://pypi.org/project/microsoft-agents-a365-notifications)
4+
[![PyPI Downloads](https://img.shields.io/pypi/dm/microsoft-agents-a365-notifications?label=Downloads&logo=pypi)](https://pypi.org/project/microsoft-agents-a365-notifications)
55

6-
## What is this?
7-
8-
This library is part of the Microsoft Agent 365 SDK for Python - a comprehensive framework for building enterprise-grade conversational AI agents. The notifications package specifically handles incoming notifications from Microsoft 365 applications, allowing your agents to respond to events like document updates, email mentions, and collaborative activities.
9-
10-
## Key Features
11-
12-
**Microsoft 365 Integration** - Handle notifications from Word, Excel, PowerPoint, and Outlook
13-
**Channel Routing** - Intelligent routing based on source application and context
14-
**Type Safety** - Built with Pydantic for automatic validation and type checking
15-
**Flexible Handlers** - Support for wildcard and specific channel notification handlers
16-
**Enterprise Ready** - Built for production Microsoft 365 environments
17-
**Async Support** - Full async/await support for high-performance applications
6+
Notification and messaging extensions for AI agent applications. This package provides utilities for handling agent notifications, lifecycle events, and routing across different channels and subchannels in Microsoft 365 applications.
187

198
## Installation
209

2110
```bash
2211
pip install microsoft-agents-a365-notifications
2312
```
2413

25-
## Quick Start
26-
27-
### Basic Concepts
28-
29-
The Microsoft Agent 365 Notifications package enables your agents to receive and respond to notifications from Microsoft 365 applications. Key concepts include:
30-
31-
- **Notification Handlers**: Functions that process incoming notifications
32-
- **Channel Routing**: Route notifications based on the source application
33-
- **Sub-Channel Filtering**: Handle specific types of notifications (email, documents, etc.)
34-
- **Context Integration**: Access rich context about the notification source
35-
36-
### Getting Started
37-
38-
1. Install the package: `pip install microsoft-agents-a365-notifications`
39-
2. Configure your agent application with notification support
40-
3. Register handlers for specific Microsoft 365 applications
41-
4. Process incoming notifications with full context
42-
43-
## Supported Microsoft 365 Applications
44-
45-
| Application | Sub-Channel ID | Description |
46-
|-------------|----------------|-------------|
47-
| **Email** | `email` | Handle mentions and email-based interactions |
48-
| **Word** | `word` | Respond to document collaboration events |
49-
| **Excel** | `excel` | Process spreadsheet updates and analysis requests |
50-
| **PowerPoint** | `powerpoint` | Handle presentation collaboration notifications |
51-
| **Federated Knowledge** | `federatedknowledgeservice` | Enterprise knowledge base interactions |
52-
53-
## Advanced Usage
54-
55-
### Notification Processing Features
56-
57-
- **Custom Route Priorities**: Configure handler execution order for different notification types
58-
- **Authentication Integration**: Seamless integration with Microsoft 365 authentication flows
59-
- **Rich Context Access**: Access detailed metadata about notification sources and content
60-
- **Flexible Filtering**: Support for wildcard matching and specific application targeting
61-
62-
### Notification Types
63-
64-
The package supports various notification scenarios:
65-
- Document collaboration events (Word, Excel, PowerPoint)
66-
- Email mentions and interactions
67-
- Enterprise knowledge base updates
68-
- Custom application notifications
69-
70-
## Architecture
71-
72-
The notifications package follows a clean architecture pattern:
73-
74-
- **Route Selectors**: Determine which notifications match specific handlers
75-
- **Activity Wrappers**: Strongly-typed wrappers around raw notification data
76-
- **Handler Registry**: Manages registration and execution of notification handlers
77-
- **Channel Filtering**: Intelligent filtering based on Microsoft 365 application context
78-
79-
## Integration with Microsoft Agent 365 SDK
80-
81-
This package works seamlessly with other Microsoft Agent 365 SDK components:
82-
83-
| Package | Integration |
84-
|---------|-------------|
85-
| `microsoft-agents-activity` | Core activity types and protocols |
86-
| `microsoft-agents-hosting-core` | Agent lifecycle and middleware |
87-
| `microsoft-agents-authentication-msal` | Microsoft 365 authentication |
88-
| `microsoft-agents-hosting-teams` | Teams-specific hosting |
89-
90-
## Sample Applications
91-
92-
Check out these working examples:
93-
94-
| Sample | Description | Location |
95-
|--------|-------------|----------|
96-
| **Word Assistant** | Agent that helps with document writing | `samples/word-assistant/` |
97-
| **Excel Analyzer** | Data analysis agent for spreadsheets | `samples/excel-analyzer/` |
98-
| **Email Summarizer** | Automatic email summary agent | `samples/email-summarizer/` |
99-
| **Multi-App Agent** | Handles notifications from all M365 apps | `samples/multi-app-agent/` |
100-
101-
## Requirements
102-
103-
- **Python**: 3.11+
104-
- **Dependencies**:
105-
- `typing-extensions >= 4.0.0`
106-
- `microsoft-agents-activity >= 0.4.0`
107-
- `microsoft-agents-hosting-core >= 0.4.0`
108-
- `pydantic >= 2.0.0`
109-
110-
## Common Use Cases
111-
112-
### Document Collaboration
113-
- Respond to document updates and changes
114-
- Provide writing assistance and suggestions
115-
- Generate document summaries and reviews
116-
- Handle collaborative editing scenarios
14+
## Usage
15+
16+
### Basic Notification Handler
17+
18+
```python
19+
from microsoft_agents_a365.notifications import AgentNotification, AgentNotificationActivity
20+
from microsoft_agents.activity import ChannelId
21+
from microsoft_agents.hosting.core import TurnContext, TurnState
22+
23+
# Initialize notification handler
24+
agent_notification = AgentNotification(
25+
app=app,
26+
known_subchannels=["email", "word", "excel"],
27+
)
28+
29+
# Register notification handler for specific channel
30+
@agent_notification.on_agent_notification(
31+
channel_id=ChannelId(channel="msteams", sub_channel="email")
32+
)
33+
async def handle_email_notification(
34+
context: TurnContext,
35+
state: TurnState,
36+
notification: AgentNotificationActivity
37+
):
38+
# Process email notification
39+
print(f"Received notification: {notification.notification_type}")
40+
await context.send_activity("Processing your email notification")
41+
```
11742

118-
### Data Analysis Assistant
119-
- Process spreadsheet updates and changes
120-
- Generate insights from data modifications
121-
- Create visualizations and reports
122-
- Assist with data analysis workflows
43+
### Handle Multiple Subchannels
44+
45+
```python
46+
# Handle all notifications for a channel (wildcard)
47+
@agent_notification.on_agent_notification(
48+
channel_id=ChannelId(channel="msteams", sub_channel="*")
49+
)
50+
async def handle_all_notifications(
51+
context: TurnContext,
52+
state: TurnState,
53+
notification: AgentNotificationActivity
54+
):
55+
# Route based on notification type
56+
if notification.notification_type == "email":
57+
await handle_email(context, notification)
58+
elif notification.notification_type == "document":
59+
await handle_document(context, notification)
60+
```
12361

124-
### Email Productivity
125-
- Handle email mentions and notifications
126-
- Draft responses and follow-ups
127-
- Extract action items from conversations
128-
- Manage email-based workflows
62+
## Support
12963

130-
## Quick Links
64+
For issues, questions, or feedback:
13165

132-
📦 [All SDK Packages on PyPI](TODO: Update when packages are published)
133-
📖 [Complete Documentation](https://github.com/microsoft/Agent365/tree/main/python)
134-
💡 [Python Samples Repository](https://github.com/microsoft/Agent365/tree/main/samples)
135-
🐛 [Report Issues](https://github.com/microsoft/Agent365/issues)
136-
🔧 [Microsoft 365 Developer Center](https://developer.microsoft.com/microsoft-365/)
66+
- File issues in the [GitHub Issues](https://github.com/microsoft/Agent365-python/issues) section
67+
- See the [main documentation](../../../README.md) for more information
13768

13869
## License
13970

140-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
71+
Copyright (c) Microsoft Corporation. All rights reserved.
72+
73+
Licensed under the MIT License - see the [LICENSE](../../../LICENSE.md) file for details.

0 commit comments

Comments
 (0)