ag2 0.7.0b3__tar.gz → 0.7.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ag2 might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  ## NOTICE
2
2
 
3
- Copyright (c) 2023-2024, Owners of https://github.com/ag2ai
3
+ Copyright (c) 2023-2025, Owners of https://github.com/ag2ai
4
4
 
5
5
  This project is a fork of https://github.com/microsoft/autogen.
6
6
 
@@ -12,8 +12,8 @@ This project, i.e., https://github.com/ag2ai/ag2, is licensed under the Apache L
12
12
 
13
13
  Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
14
14
 
15
- Ongoing MIT-licensed contributions:
16
- This project regularly incorporates code merged from the [original repository](https://github.com/microsoft/autogen) after the initial fork. This merged code remains under the original MIT license. For specific details on merged commits, please refer to the project's commit history.
17
- The MIT license applies to portions of code originating from the [original repository](https://github.com/microsoft/autogen) as described above.
15
+ MIT-licensed contributions:
16
+ The MIT license applies to portions of code originating from the [original repository](https://github.com/microsoft/autogen).
17
+ For specific details on merged commits, please refer to the project's commit history.
18
18
 
19
- Last updated: 08/25/2024
19
+ Last updated: 01/16/2025
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ag2
3
- Version: 0.7.0b3
3
+ Version: 0.7.2
4
4
  Summary: Alias package for pyautogen
5
5
  Home-page: https://github.com/ag2ai/ag2
6
6
  Author: Chi Wang & Qingyun Wu
@@ -12,15 +12,22 @@ Classifier: License :: OSI Approved :: Apache Software License
12
12
  Classifier: Operating System :: OS Independent
13
13
  Requires-Python: >=3.9,<3.14
14
14
  Description-Content-Type: text/markdown
15
- Provides-Extra: test
16
- Provides-Extra: blendsearch
17
- Provides-Extra: mathchat
15
+ Provides-Extra: flaml
16
+ Provides-Extra: jupyter-executor
18
17
  Provides-Extra: retrievechat
19
18
  Provides-Extra: retrievechat-pgvector
20
19
  Provides-Extra: retrievechat-mongodb
21
20
  Provides-Extra: retrievechat-qdrant
22
21
  Provides-Extra: graph-rag-falkor-db
22
+ Provides-Extra: neo4j
23
+ Provides-Extra: twilio
24
+ Provides-Extra: interop-crewai
25
+ Provides-Extra: interop-langchain
26
+ Provides-Extra: interop-pydantic-ai
27
+ Provides-Extra: interop
23
28
  Provides-Extra: autobuild
29
+ Provides-Extra: blendsearch
30
+ Provides-Extra: mathchat
24
31
  Provides-Extra: captainagent
25
32
  Provides-Extra: teachable
26
33
  Provides-Extra: lmm
@@ -31,8 +38,6 @@ Provides-Extra: websurfer
31
38
  Provides-Extra: redis
32
39
  Provides-Extra: cosmosdb
33
40
  Provides-Extra: websockets
34
- Provides-Extra: jupyter-executor
35
- Provides-Extra: types
36
41
  Provides-Extra: long-context
37
42
  Provides-Extra: anthropic
38
43
  Provides-Extra: cerebras
@@ -41,12 +46,11 @@ Provides-Extra: groq
41
46
  Provides-Extra: cohere
42
47
  Provides-Extra: ollama
43
48
  Provides-Extra: bedrock
44
- Provides-Extra: twilio
45
- Provides-Extra: interop-crewai
46
- Provides-Extra: interop-langchain
47
- Provides-Extra: interop-pydantic-ai
48
- Provides-Extra: interop
49
- Provides-Extra: neo4j
49
+ Provides-Extra: test
50
+ Provides-Extra: docs
51
+ Provides-Extra: types
52
+ Provides-Extra: lint
53
+ Provides-Extra: dev
50
54
  License-File: LICENSE
51
55
  License-File: NOTICE.md
52
56
 
@@ -57,7 +61,7 @@ License-File: NOTICE.md
57
61
  [![Build](https://github.com/ag2ai/ag2/actions/workflows/python-package.yml/badge.svg)](https://github.com/ag2ai/ag2/actions/workflows/python-package.yml)
58
62
  ![Python Version](https://img.shields.io/badge/3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue)
59
63
  [![Discord](https://img.shields.io/discord/1153072414184452236?logo=discord&style=flat)](https://discord.gg/pAbnFJrkgZ)
60
- [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40ag2ai)](https://x.com/ag2ai)
64
+ [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40ag2ai)](https://x.com/Chi_Wang_)
61
65
 
62
66
  <!-- [![NuGet version](https://badge.fury.io/nu/AutoGen.Core.svg)](https://badge.fury.io/nu/AutoGen.Core) -->
63
67
 
@@ -72,7 +76,7 @@ License-File: NOTICE.md
72
76
  > **:tada: IMPORTANT**
73
77
  >
74
78
  > :fire: :tada: **Nov 11, 2024:** We are evolving AutoGen into **AG2**!
75
- > A new organization [AG2ai](https://github.com/ag2ai) is created to host the development of AG2 and related projects with open governance. Check [AG2's new look](https://ag2.ai/).
79
+ > A new organization [AG2AI](https://github.com/ag2ai) is created to host the development of AG2 and related projects with open governance. Check [AG2's new look](https://ag2.ai/).
76
80
  >
77
81
  > We invite collaborators from all organizations and individuals to join the development.
78
82
 
@@ -139,7 +143,7 @@ AG2 (formerly AutoGen) is an open-source programming framework for building AI a
139
143
  The project is currently maintained by a [dynamic group of volunteers](MAINTAINERS.md) from several organizations. Contact project administrators Chi Wang and Qingyun Wu via [support@ag2.ai](mailto:support@ag2.ai) if you are interested in becoming a maintainer.
140
144
 
141
145
 
142
- ![AutoGen Overview](https://media.githubusercontent.com/media/ag2ai/ag2/refs/heads/main/website/static/img/autogen_agentchat.png)
146
+ ![AG2 Overview](https://media.githubusercontent.com/media/ag2ai/ag2/refs/heads/main/website/static/img/autogen_agentchat.png)
143
147
 
144
148
 
145
149
  <p align="right" style="font-size: 14px; color: #555; margin-top: 20px;">
@@ -5,7 +5,7 @@
5
5
  [![Build](https://github.com/ag2ai/ag2/actions/workflows/python-package.yml/badge.svg)](https://github.com/ag2ai/ag2/actions/workflows/python-package.yml)
6
6
  ![Python Version](https://img.shields.io/badge/3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue)
7
7
  [![Discord](https://img.shields.io/discord/1153072414184452236?logo=discord&style=flat)](https://discord.gg/pAbnFJrkgZ)
8
- [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40ag2ai)](https://x.com/ag2ai)
8
+ [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40ag2ai)](https://x.com/Chi_Wang_)
9
9
 
10
10
  <!-- [![NuGet version](https://badge.fury.io/nu/AutoGen.Core.svg)](https://badge.fury.io/nu/AutoGen.Core) -->
11
11
 
@@ -20,7 +20,7 @@
20
20
  > **:tada: IMPORTANT**
21
21
  >
22
22
  > :fire: :tada: **Nov 11, 2024:** We are evolving AutoGen into **AG2**!
23
- > A new organization [AG2ai](https://github.com/ag2ai) is created to host the development of AG2 and related projects with open governance. Check [AG2's new look](https://ag2.ai/).
23
+ > A new organization [AG2AI](https://github.com/ag2ai) is created to host the development of AG2 and related projects with open governance. Check [AG2's new look](https://ag2.ai/).
24
24
  >
25
25
  > We invite collaborators from all organizations and individuals to join the development.
26
26
 
@@ -87,7 +87,7 @@ AG2 (formerly AutoGen) is an open-source programming framework for building AI a
87
87
  The project is currently maintained by a [dynamic group of volunteers](MAINTAINERS.md) from several organizations. Contact project administrators Chi Wang and Qingyun Wu via [support@ag2.ai](mailto:support@ag2.ai) if you are interested in becoming a maintainer.
88
88
 
89
89
 
90
- ![AutoGen Overview](https://media.githubusercontent.com/media/ag2ai/ag2/refs/heads/main/website/static/img/autogen_agentchat.png)
90
+ ![AG2 Overview](https://media.githubusercontent.com/media/ag2ai/ag2/refs/heads/main/website/static/img/autogen_agentchat.png)
91
91
 
92
92
 
93
93
  <p align="right" style="font-size: 14px; color: #555; margin-top: 20px;">
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ag2
3
- Version: 0.7.0b3
3
+ Version: 0.7.2
4
4
  Summary: Alias package for pyautogen
5
5
  Home-page: https://github.com/ag2ai/ag2
6
6
  Author: Chi Wang & Qingyun Wu
@@ -12,15 +12,22 @@ Classifier: License :: OSI Approved :: Apache Software License
12
12
  Classifier: Operating System :: OS Independent
13
13
  Requires-Python: >=3.9,<3.14
14
14
  Description-Content-Type: text/markdown
15
- Provides-Extra: test
16
- Provides-Extra: blendsearch
17
- Provides-Extra: mathchat
15
+ Provides-Extra: flaml
16
+ Provides-Extra: jupyter-executor
18
17
  Provides-Extra: retrievechat
19
18
  Provides-Extra: retrievechat-pgvector
20
19
  Provides-Extra: retrievechat-mongodb
21
20
  Provides-Extra: retrievechat-qdrant
22
21
  Provides-Extra: graph-rag-falkor-db
22
+ Provides-Extra: neo4j
23
+ Provides-Extra: twilio
24
+ Provides-Extra: interop-crewai
25
+ Provides-Extra: interop-langchain
26
+ Provides-Extra: interop-pydantic-ai
27
+ Provides-Extra: interop
23
28
  Provides-Extra: autobuild
29
+ Provides-Extra: blendsearch
30
+ Provides-Extra: mathchat
24
31
  Provides-Extra: captainagent
25
32
  Provides-Extra: teachable
26
33
  Provides-Extra: lmm
@@ -31,8 +38,6 @@ Provides-Extra: websurfer
31
38
  Provides-Extra: redis
32
39
  Provides-Extra: cosmosdb
33
40
  Provides-Extra: websockets
34
- Provides-Extra: jupyter-executor
35
- Provides-Extra: types
36
41
  Provides-Extra: long-context
37
42
  Provides-Extra: anthropic
38
43
  Provides-Extra: cerebras
@@ -41,12 +46,11 @@ Provides-Extra: groq
41
46
  Provides-Extra: cohere
42
47
  Provides-Extra: ollama
43
48
  Provides-Extra: bedrock
44
- Provides-Extra: twilio
45
- Provides-Extra: interop-crewai
46
- Provides-Extra: interop-langchain
47
- Provides-Extra: interop-pydantic-ai
48
- Provides-Extra: interop
49
- Provides-Extra: neo4j
49
+ Provides-Extra: test
50
+ Provides-Extra: docs
51
+ Provides-Extra: types
52
+ Provides-Extra: lint
53
+ Provides-Extra: dev
50
54
  License-File: LICENSE
51
55
  License-File: NOTICE.md
52
56
 
@@ -57,7 +61,7 @@ License-File: NOTICE.md
57
61
  [![Build](https://github.com/ag2ai/ag2/actions/workflows/python-package.yml/badge.svg)](https://github.com/ag2ai/ag2/actions/workflows/python-package.yml)
58
62
  ![Python Version](https://img.shields.io/badge/3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue)
59
63
  [![Discord](https://img.shields.io/discord/1153072414184452236?logo=discord&style=flat)](https://discord.gg/pAbnFJrkgZ)
60
- [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40ag2ai)](https://x.com/ag2ai)
64
+ [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40ag2ai)](https://x.com/Chi_Wang_)
61
65
 
62
66
  <!-- [![NuGet version](https://badge.fury.io/nu/AutoGen.Core.svg)](https://badge.fury.io/nu/AutoGen.Core) -->
63
67
 
@@ -72,7 +76,7 @@ License-File: NOTICE.md
72
76
  > **:tada: IMPORTANT**
73
77
  >
74
78
  > :fire: :tada: **Nov 11, 2024:** We are evolving AutoGen into **AG2**!
75
- > A new organization [AG2ai](https://github.com/ag2ai) is created to host the development of AG2 and related projects with open governance. Check [AG2's new look](https://ag2.ai/).
79
+ > A new organization [AG2AI](https://github.com/ag2ai) is created to host the development of AG2 and related projects with open governance. Check [AG2's new look](https://ag2.ai/).
76
80
  >
77
81
  > We invite collaborators from all organizations and individuals to join the development.
78
82
 
@@ -139,7 +143,7 @@ AG2 (formerly AutoGen) is an open-source programming framework for building AI a
139
143
  The project is currently maintained by a [dynamic group of volunteers](MAINTAINERS.md) from several organizations. Contact project administrators Chi Wang and Qingyun Wu via [support@ag2.ai](mailto:support@ag2.ai) if you are interested in becoming a maintainer.
140
144
 
141
145
 
142
- ![AutoGen Overview](https://media.githubusercontent.com/media/ag2ai/ag2/refs/heads/main/website/static/img/autogen_agentchat.png)
146
+ ![AG2 Overview](https://media.githubusercontent.com/media/ag2ai/ag2/refs/heads/main/website/static/img/autogen_agentchat.png)
143
147
 
144
148
 
145
149
  <p align="right" style="font-size: 14px; color: #555; margin-top: 20px;">
@@ -10,7 +10,10 @@ ag2.egg-info/requires.txt
10
10
  ag2.egg-info/top_level.txt
11
11
  test/test_browser_utils.py
12
12
  test/test_code_utils.py
13
+ test/test_conftest.py
13
14
  test/test_graph_utils.py
15
+ test/test_import.py
16
+ test/test_import_utils.py
14
17
  test/test_logging.py
15
18
  test/test_notebook.py
16
19
  test/test_pydantic.py
@@ -0,0 +1,118 @@
1
+ pyautogen==0.7.2
2
+
3
+ [anthropic]
4
+ pyautogen[anthropic]==0.7.2
5
+
6
+ [autobuild]
7
+ pyautogen[autobuild]==0.7.2
8
+
9
+ [bedrock]
10
+ pyautogen[bedrock]==0.7.2
11
+
12
+ [blendsearch]
13
+ pyautogen[blendsearch]==0.7.2
14
+
15
+ [captainagent]
16
+ pyautogen[captainagent]==0.7.2
17
+
18
+ [cerebras]
19
+ pyautogen[cerebras]==0.7.2
20
+
21
+ [cohere]
22
+ pyautogen[cohere]==0.7.2
23
+
24
+ [cosmosdb]
25
+ pyautogen[cosmosdb]==0.7.2
26
+
27
+ [dev]
28
+ pyautogen[dev]==0.7.2
29
+
30
+ [docs]
31
+ pyautogen[docs]==0.7.2
32
+
33
+ [flaml]
34
+ pyautogen[flaml]==0.7.2
35
+
36
+ [gemini]
37
+ pyautogen[gemini]==0.7.2
38
+
39
+ [graph]
40
+ pyautogen[graph]==0.7.2
41
+
42
+ [graph-rag-falkor-db]
43
+ pyautogen[graph-rag-falkor-db]==0.7.2
44
+
45
+ [groq]
46
+ pyautogen[groq]==0.7.2
47
+
48
+ [interop]
49
+ pyautogen[interop]==0.7.2
50
+
51
+ [interop-crewai]
52
+ pyautogen[interop-crewai]==0.7.2
53
+
54
+ [interop-langchain]
55
+ pyautogen[interop-langchain]==0.7.2
56
+
57
+ [interop-pydantic-ai]
58
+ pyautogen[interop-pydantic-ai]==0.7.2
59
+
60
+ [jupyter-executor]
61
+ pyautogen[jupyter-executor]==0.7.2
62
+
63
+ [lint]
64
+ pyautogen[lint]==0.7.2
65
+
66
+ [lmm]
67
+ pyautogen[lmm]==0.7.2
68
+
69
+ [long-context]
70
+ pyautogen[long-context]==0.7.2
71
+
72
+ [mathchat]
73
+ pyautogen[mathchat]==0.7.2
74
+
75
+ [mistral]
76
+ pyautogen[mistral]==0.7.2
77
+
78
+ [neo4j]
79
+ pyautogen[neo4j]==0.7.2
80
+
81
+ [ollama]
82
+ pyautogen[ollama]==0.7.2
83
+
84
+ [redis]
85
+ pyautogen[redis]==0.7.2
86
+
87
+ [retrievechat]
88
+ pyautogen[retrievechat]==0.7.2
89
+
90
+ [retrievechat-mongodb]
91
+ pyautogen[retrievechat-mongodb]==0.7.2
92
+
93
+ [retrievechat-pgvector]
94
+ pyautogen[retrievechat-pgvector]==0.7.2
95
+
96
+ [retrievechat-qdrant]
97
+ pyautogen[retrievechat-qdrant]==0.7.2
98
+
99
+ [teachable]
100
+ pyautogen[teachable]==0.7.2
101
+
102
+ [test]
103
+ pyautogen[test]==0.7.2
104
+
105
+ [together]
106
+ pyautogen[together]==0.7.2
107
+
108
+ [twilio]
109
+ pyautogen[twilio]==0.7.2
110
+
111
+ [types]
112
+ pyautogen[types]==0.7.2
113
+
114
+ [websockets]
115
+ pyautogen[websockets]==0.7.2
116
+
117
+ [websurfer]
118
+ pyautogen[websurfer]==0.7.2
@@ -55,14 +55,11 @@ dependencies = [
55
55
  "openai>=1.58",
56
56
  "diskcache",
57
57
  "termcolor",
58
- "flaml",
59
- # numpy is installed by flaml, but we want to pin the version to below 2.x (see https://github.com/microsoft/autogen/issues/1960)
60
- "numpy>=2.1; python_version>='3.13'", # numpy 2.1+ required for Python 3.13
61
- "numpy>=1.24.0,<2.0.0; python_version<'3.13'", # numpy 1.24+ for older Python versions
62
58
  "python-dotenv",
63
59
  "tiktoken",
60
+ "numpy",
64
61
  # Disallowing 2.6.0 can be removed when this is fixed https://github.com/pydantic/pydantic/issues/8705
65
- "pydantic>=1.10,<3,!=2.6.0", # could be both V1 and V2
62
+ "pydantic>=2.6.1,<3",
66
63
  "docker",
67
64
  "packaging",
68
65
  "websockets>=14,<15",
@@ -71,6 +68,14 @@ dependencies = [
71
68
  ]
72
69
 
73
70
  [project.optional-dependencies]
71
+
72
+ flaml = [
73
+ "flaml",
74
+ # numpy is installed by flaml, but we want to pin the version to below 2.x (see https://github.com/microsoft/autogen/issues/1960)
75
+ "numpy>=2.1; python_version>='3.13'", # numpy 2.1+ required for Python 3.13
76
+ "numpy>=1.24.0,<2.0.0; python_version<'3.13'", # numpy 1.24+ for older Python versions
77
+ ]
78
+
74
79
  # public distributions
75
80
  jupyter-executor = [
76
81
  "jupyter-kernel-gateway",
@@ -115,10 +120,10 @@ graph-rag-falkor-db = [
115
120
 
116
121
  neo4j = [
117
122
  "docx2txt==0.8",
118
- "llama-index==0.12.5",
119
- "llama-index-graph-stores-neo4j==0.4.2",
120
- "llama-index-core==0.12.5",
121
- "llama-index-readers-web==0.3.3",
123
+ "llama-index==0.12.11",
124
+ "llama-index-graph-stores-neo4j==0.4.5",
125
+ "llama-index-core==0.12.11",
126
+ "llama-index-readers-web==0.3.4",
122
127
  ]
123
128
 
124
129
  # used for agentchat_realtime_swarm notebook and realtime agent twilio demo
@@ -131,6 +136,8 @@ twilio = [
131
136
  interop-crewai = [
132
137
  "crewai[tools]>=0.86,<1; python_version>='3.10' and python_version<'3.13'",
133
138
  "weaviate-client==4.10.2; python_version>='3.10' and python_version<'3.13'",
139
+ # crewai uses litellm, litellm introduced uvloop as deps with version 1.57.5 which does not support win32
140
+ "litellm<1.57.5; sys_platform=='win32'",
134
141
  ]
135
142
  interop-langchain = ["langchain-community>=0.3.12,<1"]
136
143
  interop-pydantic-ai = ["pydantic-ai==0.0.13"]
@@ -138,11 +145,6 @@ interop =[
138
145
  "pyautogen[interop-crewai, interop-langchain, interop-pydantic-ai]",
139
146
  ]
140
147
 
141
- types = [
142
- "mypy==1.9.0",
143
- "pyautogen[test, jupyter-executor, interop]",
144
- ]
145
-
146
148
  # pysqlite3-binary used so it doesn't need to compile pysqlite3
147
149
  autobuild = ["chromadb", "sentence-transformers", "huggingface-hub", "pysqlite3-binary"]
148
150
 
@@ -171,22 +173,52 @@ cerebras = ["cerebras_cloud_sdk>=1.0.0"]
171
173
  mistral = ["mistralai>=1.0.1"]
172
174
  groq = ["groq>=0.9.0"]
173
175
  cohere = ["cohere>=5.5.8"]
174
- ollama = ["ollama>=0.3.3", "fix_busted_json>=0.0.18"]
176
+ ollama = ["ollama>=0.4.5", "fix_busted_json>=0.0.18"]
175
177
  bedrock = ["boto3>=1.34.149"]
176
178
 
177
- # dev dependencies
179
+ ## dev dependencies
180
+
181
+ # test dependencies
178
182
  test = [
179
- "ipykernel",
180
- "nbconvert",
181
- "nbformat",
182
- "pre-commit",
183
- "pytest-cov>=5",
184
- "pytest-asyncio",
185
- "pytest>=8,<9",
186
- "pandas",
187
- "fastapi>=0.115.0,<1",
183
+ "ipykernel==6.29.5",
184
+ "nbconvert==7.16.5",
185
+ "nbformat==5.10.4",
186
+ "pytest-cov==6.0.0",
187
+ "pytest-asyncio==0.25.2",
188
+ "pytest==8.3.4",
189
+ "pandas==2.2.3",
190
+ "fastapi==0.115.6",
191
+ ]
192
+
193
+ # docs dependencies
194
+ docs = [
195
+ "pdoc3==0.11.5",
196
+ "jinja2==3.1.5",
197
+ "pyyaml==6.0.2",
198
+ "termcolor==2.5.0",
199
+ "nbclient==0.10.2",
200
+ ]
201
+
202
+ types = [
203
+ "mypy==1.14.1",
204
+ "pyautogen[test, jupyter-executor, interop]",
205
+ ]
206
+
207
+ lint = [
208
+ "ruff==0.9.2",
209
+ "codespell==2.3.0",
210
+ "pyupgrade-directories==0.3.0",
188
211
  ]
189
212
 
213
+ dev = [
214
+ "toml==0.10.2",
215
+ "pyautogen[lint,test,types,docs]",
216
+ "pre-commit==4.1.0",
217
+ "detect-secrets==1.5.0",
218
+ "uv==0.5.21",
219
+ ]
220
+
221
+
190
222
  [project.urls]
191
223
  Homepage = "https://ag2.ai/"
192
224
  Documentation = "https://docs.ag2.ai/docs/Home"
@@ -215,7 +247,18 @@ exclude = ["test", "notebook"]
215
247
 
216
248
  [tool.pytest.ini_options]
217
249
  addopts = '--cov=. --cov-append --cov-branch --cov-report=xml -m "not conda"'
218
- markers = ["conda: test related to conda forge distribution"]
250
+ testpaths = [
251
+ "test",
252
+ ]
253
+ markers = [
254
+ "conda: test related to conda forge distribution",
255
+ "all",
256
+ "openai",
257
+ "gemini",
258
+ "anthropic",
259
+ "redis",
260
+ "docker",
261
+ ]
219
262
 
220
263
  [tool.black]
221
264
  # https://github.com/psf/black
@@ -224,21 +267,9 @@ exclude = "(.eggs|.git|.hg|.mypy_cache|.venv|_build|buck-out|build|dist)"
224
267
 
225
268
 
226
269
  [tool.ruff]
270
+ fix = true
227
271
  line-length = 120
228
-
229
- [tool.ruff.lint]
230
- # Enable Pyflakes `E` and `F` codes by default.
231
- select = [
232
- "E",
233
- "W", # see: https://pypi.org/project/pycodestyle
234
- "F", # see: https://pypi.org/project/pyflakes
235
- # "D", # see: https://pypi.org/project/pydocstyle
236
- # "N", # see: https://pypi.org/project/pep8-naming
237
- # "S", # see: https://pypi.org/project/flake8-bandit
238
- "I", # see: https://pypi.org/project/isort/
239
- ]
240
- ignore = ["E501", "F401", "F403", "C901"]
241
-
272
+ target-version = 'py39'
242
273
  # Exclude a variety of commonly ignored directories.
243
274
  exclude = [
244
275
  ".eggs",
@@ -253,14 +284,56 @@ exclude = [
253
284
  # This file needs to be either upgraded or removed and therefore should be
254
285
  # ignore from type checking for now
255
286
  "math_utils\\.py$",
256
- "**/cap/py/autogencap/proto/*",
287
+ "setup_*.py",
288
+ ]
289
+
290
+ [tool.ruff.lint]
291
+ # Enable Pyflakes `E` and `F` codes by default.
292
+ select = [
293
+ "E", # pycodestyle errors https://docs.astral.sh/ruff/rules/#error-e
294
+ "W", # pycodestyle warnings https://docs.astral.sh/ruff/rules/#warning-w
295
+ "C90", # mccabe https://docs.astral.sh/ruff/rules/#mccabe-c90
296
+ "N", # pep8-naming https://docs.astral.sh/ruff/rules/#pep8-naming-n
297
+ # "D", # pydocstyle https://docs.astral.sh/ruff/rules/#pydocstyle-d
298
+ "I", # isort https://docs.astral.sh/ruff/rules/#isort-i
299
+ "F", # pyflakes https://docs.astral.sh/ruff/rules/#pyflakes-f
300
+ "ASYNC", # flake8-async https://docs.astral.sh/ruff/rules/#flake8-async-async
301
+ # "C4", # flake8-comprehensions https://docs.astral.sh/ruff/rules/#flake8-comprehensions-c4
302
+ # "B", # flake8-bugbear https://docs.astral.sh/ruff/rules/#flake8-bugbear-b
303
+ "Q", # flake8-quotes https://docs.astral.sh/ruff/rules/#flake8-quotes-q
304
+ # "T20", # flake8-print https://docs.astral.sh/ruff/rules/#flake8-print-t20
305
+ # "SIM", # flake8-simplify https://docs.astral.sh/ruff/rules/#flake8-simplify-sim
306
+ # "PT", # flake8-pytest-style https://docs.astral.sh/ruff/rules/#flake8-pytest-style-pt
307
+ # "PTH", # flake8-use-pathlib https://docs.astral.sh/ruff/rules/#flake8-use-pathlib-pth
308
+ # "TCH", # flake8-type-checking https://docs.astral.sh/ruff/rules/#flake8-type-checking-tch
309
+ # "RUF", # Ruff-specific rules https://docs.astral.sh/ruff/rules/#ruff-specific-rules-ruf
310
+ # "PERF", # Perflint https://docs.astral.sh/ruff/rules/#perflint-perf
311
+ "RUF022", # Sort __all__ https://docs.astral.sh/ruff/rules/unsorted-dunder-all/
312
+ ]
313
+
314
+ ignore = ["E501", "F403", "C901",
315
+ "E402",
316
+ "E721",
317
+ "ASYNC109",
318
+ "E501", # line too long, handled by formatter later
319
+ "D100", "D101", "D102", "D103", "D104",
320
+ "C901", # too complex
257
321
  ]
258
- unfixable = ["F401"]
259
322
 
260
323
  [tool.ruff.lint.mccabe]
261
324
  # Unlike Flake8, default to a complexity level of 10.
262
325
  max-complexity = 10
263
326
 
327
+ [tool.ruff.lint.isort]
328
+ case-sensitive = true
329
+
330
+ [tool.ruff.format]
331
+ docstring-code-format = true
332
+
333
+ [tool.ruff.lint.pydocstyle]
334
+ convention = "google"
335
+
336
+
264
337
  [tool.mypy]
265
338
  files = [
266
339
  "autogen/logger",
@@ -273,13 +346,20 @@ files = [
273
346
  "autogen/interop",
274
347
  "autogen/agentchat/realtime_agent",
275
348
  "autogen/messages",
349
+ "autogen/import_utils.py",
350
+ "website/*.py",
276
351
  "test/test_pydantic.py",
277
352
  "test/io",
278
353
  "test/tools",
279
354
  "test/interop",
280
355
  "test/agentchat/realtime_agent",
281
356
  "test/messages",
357
+ "test/conftest.py",
358
+ "test/test_import_utils.py",
359
+ "test/test_import.py",
360
+ "test/website",
282
361
  ]
362
+
283
363
  exclude = [
284
364
  "autogen/math_utils\\.py",
285
365
  "autogen/oai/completion\\.py",
@@ -2,6 +2,9 @@
2
2
  #
3
3
  # SPDX-License-Identifier: Apache-2.0
4
4
 
5
+ # this file is autogenerated, please do not edit it directly
6
+ # instead, edit the corresponding setup.jinja file and run the ./scripts/build-setup-files.py script
7
+
5
8
  import os
6
9
 
7
10
  import setuptools
@@ -25,15 +28,22 @@ setuptools.setup(
25
28
  long_description_content_type="text/markdown",
26
29
  install_requires=["pyautogen==" + __version__],
27
30
  extras_require={
28
- "test": ["pyautogen[test]==" + __version__],
29
- "blendsearch": ["pyautogen[blendsearch]==" + __version__],
30
- "mathchat": ["pyautogen[mathchat]==" + __version__],
31
+ "flaml": ["pyautogen[flaml]==" + __version__],
32
+ "jupyter-executor": ["pyautogen[jupyter-executor]==" + __version__],
31
33
  "retrievechat": ["pyautogen[retrievechat]==" + __version__],
32
34
  "retrievechat-pgvector": ["pyautogen[retrievechat-pgvector]==" + __version__],
33
35
  "retrievechat-mongodb": ["pyautogen[retrievechat-mongodb]==" + __version__],
34
36
  "retrievechat-qdrant": ["pyautogen[retrievechat-qdrant]==" + __version__],
35
37
  "graph-rag-falkor-db": ["pyautogen[graph-rag-falkor-db]==" + __version__],
38
+ "neo4j": ["pyautogen[neo4j]==" + __version__],
39
+ "twilio": ["pyautogen[twilio]==" + __version__],
40
+ "interop-crewai": ["pyautogen[interop-crewai]==" + __version__],
41
+ "interop-langchain": ["pyautogen[interop-langchain]==" + __version__],
42
+ "interop-pydantic-ai": ["pyautogen[interop-pydantic-ai]==" + __version__],
43
+ "interop": ["pyautogen[interop]==" + __version__],
36
44
  "autobuild": ["pyautogen[autobuild]==" + __version__],
45
+ "blendsearch": ["pyautogen[blendsearch]==" + __version__],
46
+ "mathchat": ["pyautogen[mathchat]==" + __version__],
37
47
  "captainagent": ["pyautogen[captainagent]==" + __version__],
38
48
  "teachable": ["pyautogen[teachable]==" + __version__],
39
49
  "lmm": ["pyautogen[lmm]==" + __version__],
@@ -44,8 +54,6 @@ setuptools.setup(
44
54
  "redis": ["pyautogen[redis]==" + __version__],
45
55
  "cosmosdb": ["pyautogen[cosmosdb]==" + __version__],
46
56
  "websockets": ["pyautogen[websockets]==" + __version__],
47
- "jupyter-executor": ["pyautogen[jupyter-executor]==" + __version__],
48
- "types": ["pyautogen[types]==" + __version__],
49
57
  "long-context": ["pyautogen[long-context]==" + __version__],
50
58
  "anthropic": ["pyautogen[anthropic]==" + __version__],
51
59
  "cerebras": ["pyautogen[cerebras]==" + __version__],
@@ -54,12 +62,12 @@ setuptools.setup(
54
62
  "cohere": ["pyautogen[cohere]==" + __version__],
55
63
  "ollama": ["pyautogen[ollama]==" + __version__],
56
64
  "bedrock": ["pyautogen[bedrock]==" + __version__],
57
- "twilio": ["pyautogen[twilio]==" + __version__],
58
- "interop-crewai": ["pyautogen[interop-crewai]==" + __version__],
59
- "interop-langchain": ["pyautogen[interop-langchain]==" + __version__],
60
- "interop-pydantic-ai": ["pyautogen[interop-pydantic-ai]==" + __version__],
61
- "interop": ["pyautogen[interop]==" + __version__],
62
- "neo4j": ["pyautogen[neo4j]==" + __version__],
65
+ "test": ["pyautogen[test]==" + __version__],
66
+ "docs": ["pyautogen[docs]==" + __version__],
67
+ "types": ["pyautogen[types]==" + __version__],
68
+ "lint": ["pyautogen[lint]==" + __version__],
69
+ "dev": ["pyautogen[dev]==" + __version__],
70
+
63
71
  },
64
72
  url="https://github.com/ag2ai/ag2",
65
73
  author="Chi Wang & Qingyun Wu",