Python: [BREAKING] update to v1.0.0 (#5062) · alliscode/agent-framework@3446eb8 · GitHub
Skip to content

Commit 3446eb8

Browse files
Python: [BREAKING] update to v1.0.0 (microsoft#5062)
* updates to final deprecated pieces and versions * fix mypy * fix readme links
1 parent 5f06b68 commit 3446eb8

171 files changed

Lines changed: 2602 additions & 2414 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎python/.github/skills/python-package-management/SKILL.md‎

Lines changed: 85 additions & 8 deletions

‎python/PACKAGE_STATUS.md‎

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Python Package Status
2+
3+
This file tracks the current lifecycle state of the Python packages in this workspace. Some packages at later stages might have features within them that are not ready yet, these have feature stage decorators on the relevant APIs, and for `experimental` features warnings are raised. See the [Feature-level staged APIs](#feature-level-staged-apis) section below for details on which features are in which stage and where to find them.
4+
5+
Status is grouped into these buckets:
6+
7+
- `alpha` - initial release and early development packages that are not yet ready for general use
8+
- `beta` - prerelease packages that are not currently release candidates
9+
- `rc` - release candidate packages, these are close to ready for release but may still have some breaking changes before the final release
10+
- `released` - stable packages without a prerelease suffix, these are stable packages that should not have breaking changes between versions
11+
- `deprecated` - removed or deprecated packages that should not be used for new work
12+
13+
## Current packages
14+
15+
| Package | Path | State |
16+
| --- | --- | --- |
17+
| `agent-framework` | `python/` | `released` |
18+
| `agent-framework-a2a` | `python/packages/a2a` | `beta` |
19+
| `agent-framework-ag-ui` | `python/packages/ag-ui` | `beta` |
20+
| `agent-framework-anthropic` | `python/packages/anthropic` | `beta` |
21+
| `agent-framework-azure-ai-search` | `python/packages/azure-ai-search` | `beta` |
22+
| `agent-framework-azure-cosmos` | `python/packages/azure-cosmos` | `beta` |
23+
| `agent-framework-azurefunctions` | `python/packages/azurefunctions` | `beta` |
24+
| `agent-framework-bedrock` | `python/packages/bedrock` | `beta` |
25+
| `agent-framework-chatkit` | `python/packages/chatkit` | `beta` |
26+
| `agent-framework-claude` | `python/packages/claude` | `beta` |
27+
| `agent-framework-copilotstudio` | `python/packages/copilotstudio` | `beta` |
28+
| `agent-framework-core` | `python/packages/core` | `released` |
29+
| `agent-framework-declarative` | `python/packages/declarative` | `beta` |
30+
| `agent-framework-devui` | `python/packages/devui` | `beta` |
31+
| `agent-framework-durabletask` | `python/packages/durabletask` | `beta` |
32+
| `agent-framework-foundry` | `python/packages/foundry` | `released` |
33+
| `agent-framework-foundry-local` | `python/packages/foundry_local` | `beta` |
34+
| `agent-framework-github-copilot` | `python/packages/github_copilot` | `beta` |
35+
| `agent-framework-lab` | `python/packages/lab` | `beta` |
36+
| `agent-framework-mem0` | `python/packages/mem0` | `beta` |
37+
| `agent-framework-ollama` | `python/packages/ollama` | `beta` |
38+
| `agent-framework-openai` | `python/packages/openai` | `released` |
39+
| `agent-framework-orchestrations` | `python/packages/orchestrations` | `beta` |
40+
| `agent-framework-purview` | `python/packages/purview` | `beta` |
41+
| `agent-framework-redis` | `python/packages/redis` | `beta` |
42+
43+
## Deprecated / removed packages
44+
45+
| Package | Previous path | State | Notes |
46+
| --- | --- | --- | --- |
47+
| `agent-framework-azure-ai` | `python/packages/azure-ai` | `deprecated` | The client classes within the `azure-ai` package were renamed, sometimes changed, and moved to `agent-framework-foundry`. |
48+
49+
## Feature-level staged APIs
50+
51+
The following feature IDs have explicit feature-stage decorators on public APIs in the packages
52+
listed below.
53+
54+
### Experimental features
55+
56+
#### `EVALS`
57+
58+
- `agent-framework-core`: exported evaluation APIs from `agent_framework`, including
59+
`LocalEvaluator`, `evaluate_agent`, `evaluate_workflow`, and the related evaluation types and
60+
helper checks defined in `agent_framework/_evaluation.py`
61+
- `agent-framework-foundry`: `FoundryEvals`, `evaluate_traces`, and `evaluate_foundry_target`
62+
63+
#### `SKILLS`
64+
65+
- `agent-framework-core`: exported skills APIs from `agent_framework`, including `Skill`,
66+
`SkillResource`, `SkillScript`, `SkillScriptRunner`, and `SkillsProvider` from
67+
`agent_framework/_skills.py`
68+
69+
### Release-candidate features
70+
71+
There are currently no feature-level `rc` APIs.

‎python/README.md‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ We recommend two common installation paths depending on your use case.
99
If you are exploring or developing locally, install the entire framework with all sub-packages:
1010

1111
```bash
12-
pip install agent-framework --pre
12+
pip install agent-framework
1313
```
1414

15-
This installs the core and every integration package, making sure that all features are available without additional steps. The `--pre` flag is required while Agent Framework is in preview. This is the simplest way to get started.
15+
This installs the core and every integration package, making sure that all features are available without additional steps. This is the simplest way to get started.
1616

1717
### 2. Selective install
1818

@@ -22,19 +22,19 @@ If you only need specific integrations, you can install at a more granular level
2222
# Core only
2323
# includes Azure OpenAI and OpenAI support by default
2424
# also includes workflows and orchestrations
25-
pip install agent-framework-core --pre
25+
pip install agent-framework-core
2626

2727
# Core + Azure AI Foundry integration
28-
pip install agent-framework-foundry --pre
28+
pip install agent-framework-foundry
2929

30-
# Core + Microsoft Copilot Studio integration
30+
# Core + Microsoft Copilot Studio integration (preview package)
3131
pip install agent-framework-copilotstudio --pre
3232

3333
# Core + both Microsoft Copilot Studio and Azure AI Foundry integration
34-
pip install agent-framework-microsoft agent-framework-foundry --pre
34+
pip install --pre agent-framework-copilotstudio agent-framework-foundry
3535
```
3636

37-
This selective approach is useful when you know which integrations you need, and it is the recommended way to set up lightweight environments.
37+
This selective approach is useful when you know which integrations you need, and it is the recommended way to set up lightweight environments. Released packages such as `agent-framework`, `agent-framework-core`, and `agent-framework-foundry` no longer require `--pre`, while preview connectors such as `agent-framework-copilotstudio` still do.
3838

3939
Supported Platforms:
4040

‎python/packages/a2a/pyproject.toml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description = "A2A integration for Microsoft Agent Framework."
44
authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}]
55
readme = "README.md"
66
requires-python = ">=3.10"
7-
version = "1.0.0b260330"
7+
version = "1.0.0b260402"
88
license-files = ["LICENSE"]
99
urls.homepage = "https://aka.ms/agent-framework"
1010
urls.source = "https://github.com/microsoft/agent-framework/tree/main/python"
@@ -23,7 +23,7 @@ classifiers = [
2323
"Typing :: Typed",
2424
]
2525
dependencies = [
26-
"agent-framework-core>=1.0.0rc6",
26+
"agent-framework-core>=1.0.0,<2",
2727
"a2a-sdk>=0.3.5,<0.3.24",
2828
]
2929

‎python/packages/ag-ui/getting_started/client.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ async def main():
4444
metadata = {"thread_id": thread_id} if thread_id else None
4545

4646
stream = client.get_response(
47-
[Message(role="user", text=message)],
47+
[Message(role="user", contents=[message])],
4848
stream=True,
4949
options={"metadata": metadata} if metadata else None,
5050
)

‎python/packages/ag-ui/getting_started/client_advanced.py‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ async def streaming_example(client: AGUIChatClient, thread_id: str | None = None
7373
print("Assistant: ", end="", flush=True)
7474

7575
stream = client.get_response(
76-
[Message(role="user", text="Tell me a short joke")],
76+
[Message(role="user", contents=["Tell me a short joke"])],
7777
stream=True,
7878
options={"metadata": metadata} if metadata else None,
7979
)
@@ -100,7 +100,7 @@ async def non_streaming_example(client: AGUIChatClient, thread_id: str | None =
100100

101101
print("\nUser: What is 2 + 2?\n")
102102

103-
response = await client.get_response([Message(role="user", text="What is 2 + 2?")], metadata=metadata)
103+
response = await client.get_response([Message(role="user", contents=["What is 2 + 2?"])], metadata=metadata)
104104

105105
print(f"Assistant: {response.text}")
106106

@@ -139,7 +139,9 @@ async def tool_example(client: AGUIChatClient, thread_id: str | None = None):
139139
print("(Server must be configured with matching tools to execute them)\n")
140140

141141
response = await client.get_response(
142-
[Message(role="user", text="What's the weather in Seattle?")], tools=[get_weather, calculate], metadata=metadata
142+
[Message(role="user", contents=["What's the weather in Seattle?"])],
143+
tools=[get_weather, calculate],
144+
metadata=metadata,
143145
)
144146

145147
print(f"Assistant: {response.text}")
@@ -174,15 +176,15 @@ async def conversation_example(client: AGUIChatClient):
174176

175177
# First turn
176178
print("User: My name is Alice\n")
177-
response1 = await client.get_response([Message(role="user", text="My name is Alice")])
179+
response1 = await client.get_response([Message(role="user", contents=["My name is Alice"])])
178180
print(f"Assistant: {response1.text}")
179181
thread_id = response1.additional_properties.get("thread_id")
180182
print(f"\n[Thread: {thread_id}]")
181183

182184
# Second turn - using same thread
183185
print("\nUser: What's my name?\n")
184186
response2 = await client.get_response(
185-
[Message(role="user", text="What's my name?")], options={"metadata": {"thread_id": thread_id}}
187+
[Message(role="user", contents=["What's my name?"])], options={"metadata": {"thread_id": thread_id}}
186188
)
187189
print(f"Assistant: {response2.text}")
188190

@@ -193,7 +195,7 @@ async def conversation_example(client: AGUIChatClient):
193195
# Third turn
194196
print("\nUser: Can you also tell me what 10 * 5 is?\n")
195197
response3 = await client.get_response(
196-
[Message(role="user", text="Can you also tell me what 10 * 5 is?")],
198+
[Message(role="user", contents=["Can you also tell me what 10 * 5 is?"])],
197199
options={"metadata": {"thread_id": thread_id}},
198200
tools=[calculate],
199201
)

‎python/packages/ag-ui/pyproject.toml‎

Lines changed: 2 additions & 2 deletions

0 commit comments

Comments
 (0)