microsoft / microsoft/Agent365-python

[python/agent-framework/sample-agent] Sample dependencies are inconsistent on PyPI — cannot run

Ouverte
#262 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
41
Forks
23
Merge moyen
7 h 43 min
PR mergées (30 j)
3

Description

Description

Repo: https://github.com/microsoft/Agent365-Samples (visible from your local path Agent365-Samples)

Title: [python/agent-framework/sample-agent] Sample dependencies are inconsistent on PyPI — cannot run

Body template:

Following the sample at python/agent-framework/sample-agent.

Environment:

  • Python 3.12 (also tested 3.14)
  • Fresh venv
  • pip 25.0.1

Issue:

  • agent-framework (latest 1.8.1) renamed ChatAgentAgent, breaking agent.py line 40
  • agent_framework.azure (latest) does NOT export AzureOpenAIChatClient — only AI Search/Cosmos/Durable classes
  • agent_framework_azure_ai 1.0.0rc6 (the only published version) imports BaseContextProvider
    which doesn't exist in agent-framework-core 1.8.x
  • agent_framework_azure_ai 1.0.0rc6._client.py imports OpenAIResponsesOptions
    which doesn't exist in agent-framework-openai 1.8.x
  • agent-framework-azure-ai 1.0.0rc6 cannot coexist with agent-framework-foundry which pins
    agent-framework-core >= 1.0.0 (PEP 440 ordering excludes rc6)

Request:

  1. Pinned requirements.txt with exact tested versions
  2. Target Python version in the README
  3. Confirmation whether this sample requires an internal pre-release build
Expected behavior

No response

SDK Version

agent-framework-core 1.8.x

Python Version

3.12

OS

Windows 11

How to Reproduce

cd c:\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent
..venva365_py312\Scripts\Activate.ps1

1) The key test — does this import without ImportError now (at rc6)?

python -c "import agent_framework_azure_ai as az; print('OK:', sorted(x for x in dir(az) if not x.startswith('_')))"

2) Find the chat client / Azure OpenAI class specifically

python -c "import agent_framework_azure_ai as az; print([x for x in dir(az) if 'hatClient' in x or 'zureOpenAI' in x or 'penAI' in x])"

3) Get the constructor signature of whatever class exists

@'
import agent_framework_azure_ai as az
import inspect
for n in ["AzureOpenAIChatClient","AzureOpenAIClient","AzureAIChatClient","AzureAIClient","AzureOpenAIChatCompletionClient"]:
if hasattr(az, n):
print(n + ":", inspect.signature(getattr(az, n).init))
'@ | Set-Content -Path ._check_aiclient.py -Encoding UTF8
python ._check_aiclient.py
Remove-Item ._check_aiclient.py

being on agent-framework-core==1.0.0rc6 (consistent with agent-framework-azure-ai==1.0.0rc6), the import should succeed. Step 2 should reveal AzureOpenAIChatClient (or similar). Step 3 gives the exact kwargs.

agent-framework-core==1.0.0rc6 is installed. But the import chain still fails on BaseContextProvider. Two possibilities:

agent-framework-core 1.0.0rc6 itself never exported BaseContextProvider — it was a name used by agent-framework-azure-ai 1.0.0rc6 but never actually published in core. (Mismatch between sibling packages even at the SAME release tag.)
The agent_framework package being imported is shadowed by a stale install from elsewhere — Python might be loading from a different path than the rc6 install.

Output

1) The key test — does this import without ImportError now (at rc6)?

(.venva365_py312) PS C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent> python -c "import agent_framework_azure_ai as az; print('OK:', sorted(x for x in dir(az) if not x.startswith('_')))"
C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_skills.py:121: ExperimentalWarning: [SKILLS] SkillResource is experimental and may change or be removed in future versions without notice.
C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_harness_memory.py:651: ExperimentalWarning: [HARNESS] MemoryStore is experimental and may change or be removed in future versions without notice.
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_azure_ai_init_.py", line 5, in
from .agent_provider import AzureAIAgentsProvider # pyright: ignore[reportDeprecated]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_azure_ai_agent_provider.py", line 10, in
from agent_framework import (
ImportError: cannot import name 'BaseContextProvider' from 'agent_framework' (C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_init
.py). Did you mean: 'ContextProvider'?
(.venva365_py312) PS C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent>
(.venva365_py312) PS C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent> # 2) Find the chat client / Azure OpenAI class specifically
(.venva365_py312) PS C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent> python -c "import agent_framework_azure_ai as az; print([x for x in dir(az) if 'hatClient' in x or 'zureOpenAI' in x or 'penAI' in x])"
C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_skills.py:121: ExperimentalWarning: [SKILLS] SkillResource is experimental and may change or be removed in future versions without notice.
C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_harness_memory.py:651: ExperimentalWarning: [HARNESS] MemoryStore is experimental and may change or be removed in future versions without notice.
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_azure_ai_init_.py", line 5, in
from .agent_provider import AzureAIAgentsProvider # pyright: ignore[reportDeprecated]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_azure_ai_agent_provider.py", line 10, in
from agent_framework import (
ImportError: cannot import name 'BaseContextProvider' from 'agent_framework' (C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_init
.py). Did you mean: 'ContextProvider'?
(.venva365_py312) PS C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent>
(.venva365_py312) PS C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent> # 3) Get the constructor signature of whatever class exists
(.venva365_py312) PS C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent> @'

import agent_framework_azure_ai as az
import inspect
for n in ["AzureOpenAIChatClient","AzureOpenAIClient","AzureAIChatClient","AzureAIClient","AzureOpenAIChatCompletionClient"]:
if hasattr(az, n):
print(n + ":", inspect.signature(getattr(az, n).init))
'@ | Set-Content -Path ._check_aiclient.py -Encoding UTF8
(.venva365_py312) PS C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent> python ._check_aiclient.py
C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_skills.py:121: ExperimentalWarning: [SKILLS] SkillResource is experimental and may change or be removed in future versions without notice.
C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_harness_memory.py:651: ExperimentalWarning: [HARNESS] MemoryStore is experimental and may change or be removed in future versions without notice.
Traceback (most recent call last):
File "C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent_check_aiclient.py", line 1, in
import agent_framework_azure_ai as az
File "C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_azure_ai_init_.py", line 5, in
from .agent_provider import AzureAIAgentsProvider # pyright: ignore[reportDeprecated]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_azure_ai_agent_provider.py", line 10, in
from agent_framework import (
ImportError: cannot import name 'BaseContextProvider' from 'agent_framework' (C:\Users\ob\Documents\GIT\Agent365-Samples\python\agent-framework\sample-agent.venva365_py312\Lib\site-packages\agent_framework_init
.py). Did you mean: 'ContextProvider'?

Screenshots

No response

Code of Conduct

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez dans python/agent-framework/sample-agent/agent.py à la ligne 40 et reproduisez les échecs d’importation avec les commandes indiquées dans l’issue. Comparez les métadonnées de dépendances du sample avec les packages agent-framework publiés et examinez la README. Le travail est terminé lorsque le sample dispose de pins de dépendances compatibles et testés, d’une cible Python correcte et d’indications claires concernant tout build pre-release requis.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
azure, python
Domaine
build-system, developer-experience
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.