diff --git a/python/pyproject.toml b/python/pyproject.toml index ea73dffb2d93..d1b22c85541a 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -79,6 +79,10 @@ azure = [ chroma = [ "chromadb >= 0.5,< 1.1" ] +copilotstudio = [ + "microsoft-agents-copilotstudio-client >= 0.3.1", + "microsoft-agents-activity >= 0.3.1" +] dapr = [ "dapr>=1.14.0", "dapr-ext-fastapi>=1.14.0", diff --git a/python/samples/getting_started_with_agents/copilot_studio/README.md b/python/samples/getting_started_with_agents/copilot_studio/README.md index 467a6ef90188..28f12a16bfb4 100644 --- a/python/samples/getting_started_with_agents/copilot_studio/README.md +++ b/python/samples/getting_started_with_agents/copilot_studio/README.md @@ -11,11 +11,9 @@ This agent allows you to interact with Microsoft Copilot Studio agents through p 1. Python 3.10+ 2. Install Semantic Kernel with Copilot Studio dependencies: - - **Until the Copilot Studio packages are on public PyPI**: ```bash pip install semantic-kernel - pip install --extra-index-url https://test.pypi.org/simple \ - microsoft-agents-core microsoft-agents-copilotstudio-client + pip install microsoft-agents-core microsoft-agents-copilotstudio-client ``` 3. An agent created in **Microsoft Copilot Studio** 4. Ability to create an application identity in Azure for a **Public Client/Native App Registration**, diff --git a/python/samples/getting_started_with_agents/copilot_studio/step2_copilot_studio_agent_thread_management.py b/python/samples/getting_started_with_agents/copilot_studio/step2_copilot_studio_agent_thread_management.py index ab2a0a49f83b..ab615c36851c 100644 --- a/python/samples/getting_started_with_agents/copilot_studio/step2_copilot_studio_agent_thread_management.py +++ b/python/samples/getting_started_with_agents/copilot_studio/step2_copilot_studio_agent_thread_management.py @@ -2,7 +2,7 @@ import asyncio -from microsoft.agents.copilotstudio.client import ( +from microsoft_agents.copilotstudio.client import ( CopilotClient, ) diff --git a/python/semantic_kernel/agents/copilot_studio/copilot_studio_agent.py b/python/semantic_kernel/agents/copilot_studio/copilot_studio_agent.py index e524ecf5dbba..fe4f98c9dc99 100644 --- a/python/semantic_kernel/agents/copilot_studio/copilot_studio_agent.py +++ b/python/semantic_kernel/agents/copilot_studio/copilot_studio_agent.py @@ -7,8 +7,8 @@ from pathlib import Path from typing import TYPE_CHECKING, Any, ClassVar, Literal -from microsoft.agents.copilotstudio.client import AgentType, CopilotClient, PowerPlatformCloud -from microsoft.agents.core.models import ActivityTypes +from microsoft_agents.activity import ActivityTypes +from microsoft_agents.copilotstudio.client import AgentType, CopilotClient, PowerPlatformCloud from msal import ConfidentialClientApplication, PublicClientApplication from msal_extensions import FilePersistence, PersistedTokenCache, build_encrypted_persistence from pydantic import ValidationError diff --git a/python/semantic_kernel/agents/copilot_studio/copilot_studio_agent_settings.py b/python/semantic_kernel/agents/copilot_studio/copilot_studio_agent_settings.py index ae2a49e524dc..797363345ac6 100644 --- a/python/semantic_kernel/agents/copilot_studio/copilot_studio_agent_settings.py +++ b/python/semantic_kernel/agents/copilot_studio/copilot_studio_agent_settings.py @@ -3,7 +3,7 @@ from enum import Enum from typing import ClassVar -from microsoft.agents.copilotstudio.client import ( +from microsoft_agents.copilotstudio.client import ( AgentType, PowerPlatformCloud, ) diff --git a/python/tests/unit/agents/copilot_studio/test_copilot_studio_agent.py b/python/tests/unit/agents/copilot_studio/test_copilot_studio_agent.py index 081153b0a11d..fa0ce044ef70 100644 --- a/python/tests/unit/agents/copilot_studio/test_copilot_studio_agent.py +++ b/python/tests/unit/agents/copilot_studio/test_copilot_studio_agent.py @@ -10,7 +10,7 @@ from pydantic import SecretStr, ValidationError try: - import microsoft.agents.copilotstudio.client # type: ignore # noqa: F401 + import microsoft_agents.copilotstudio.client # type: ignore # noqa: F401 copilot_installed = True except ImportError: diff --git a/python/uv.lock b/python/uv.lock index ff578c9b1e99..e06bb5906896 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -2755,6 +2755,46 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, ] +[[package]] +name = "microsoft-agents-activity" +version = "0.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5a/6a/dfc2fc0316b7dc4f6d24792b4a31a873b026be76792af1e0c3e65f843ef0/microsoft_agents_activity-0.3.1.tar.gz", hash = "sha256:c7567fc30f8e6f2a2d74cd65a1f7f31ade0d7ec9dd94531677d0d7b0648c77ee", size = 44886, upload-time = "2025-09-09T23:19:43.044Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/8b/50ce2243e2900e94358f37009121145bb8224a388d95d704856aa2686667/microsoft_agents_activity-0.3.1-py3-none-any.whl", hash = "sha256:d7fc2e9cf2843ec8d6d42608b808b159a12cbb61e1fc7d7b1aaf29899f20746a", size = 111904, upload-time = "2025-09-09T23:19:50.722Z" }, +] + +[[package]] +name = "microsoft-agents-copilotstudio-client" +version = "0.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "microsoft-agents-hosting-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e9/a5/2381ffd14d6a584f9f7ab80c7b6c634f658ea651b38702eb403c930d8396/microsoft_agents_copilotstudio_client-0.3.1.tar.gz", hash = "sha256:c529209241c9d11b7a6e8696f96a3d43121c10b49e44f00e5066f9cf5256f4f3", size = 5024, upload-time = "2025-09-09T23:19:44.833Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/35/8b4e9c691f2ce89653007f358519bbadff1fe0d495c3723c9dbbfa962a33/microsoft_agents_copilotstudio_client-0.3.1-py3-none-any.whl", hash = "sha256:cac7485405325b990202452c9c14848cbdb25d13e6cdaf7bd3eca3a5c1fb3989", size = 7420, upload-time = "2025-09-09T23:19:52.287Z" }, +] + +[[package]] +name = "microsoft-agents-hosting-core" +version = "0.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "azure-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "isodate", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "microsoft-agents-activity", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "pyjwt", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "python-dotenv", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/14/a1365e0bab1486c2d16aabeb192ca90715794edf4e68be4815c245884420/microsoft_agents_hosting_core-0.3.1.tar.gz", hash = "sha256:0b76bda10e7a54ff3c86e56cbabaad5ac7a4c2a076c9833af3b2f4c86fa85e89", size = 81137, upload-time = "2025-09-09T23:19:46.73Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f0/1b/543ddaa2daf8593911a02a07a6a78366d4a6a0053ec86a557c19fa97b60e/microsoft_agents_hosting_core-0.3.1-py3-none-any.whl", hash = "sha256:a4b41556b15321b74f539c5a0a89f70955459b7ec57e9e4b24e61bba27f1cbbc", size = 94573, upload-time = "2025-09-09T23:19:53.855Z" }, +] + [[package]] name = "milvus" version = "2.3.5" @@ -5879,6 +5919,10 @@ azure = [ chroma = [ { name = "chromadb", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, ] +copilotstudio = [ + { name = "microsoft-agents-activity", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "microsoft-agents-copilotstudio-client", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, +] dapr = [ { name = "dapr", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "dapr-ext-fastapi", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -5994,6 +6038,8 @@ requires-dist = [ { name = "ipykernel", marker = "extra == 'notebooks'", specifier = "~=6.29" }, { name = "jinja2", specifier = "~=3.1" }, { name = "mcp", marker = "extra == 'mcp'", specifier = ">=1.8" }, + { name = "microsoft-agents-activity", marker = "extra == 'copilotstudio'", specifier = ">=0.3.1" }, + { name = "microsoft-agents-copilotstudio-client", marker = "extra == 'copilotstudio'", specifier = ">=0.3.1" }, { name = "milvus", marker = "sys_platform != 'win32' and extra == 'milvus'", specifier = ">=2.3,<2.3.8" }, { name = "mistralai", marker = "extra == 'mistralai'", specifier = ">=1.2,<2.0" }, { name = "motor", marker = "extra == 'mongo'", specifier = ">=3.3.2,<3.8.0" }, @@ -6032,7 +6078,7 @@ requires-dist = [ { name = "websockets", specifier = ">=13,<16" }, { name = "websockets", marker = "extra == 'realtime'", specifier = ">=13,<16" }, ] -provides-extras = ["anthropic", "autogen", "aws", "azure", "chroma", "dapr", "faiss", "google", "hugging-face", "mcp", "milvus", "mistralai", "mongo", "notebooks", "ollama", "onnx", "pandas", "pinecone", "postgres", "qdrant", "realtime", "redis", "sql", "usearch", "weaviate"] +provides-extras = ["anthropic", "autogen", "aws", "azure", "chroma", "copilotstudio", "dapr", "faiss", "google", "hugging-face", "mcp", "milvus", "mistralai", "mongo", "notebooks", "ollama", "onnx", "pandas", "pinecone", "postgres", "qdrant", "realtime", "redis", "sql", "usearch", "weaviate"] [package.metadata.requires-dev] dev = [