ag2 0.6.1__tar.gz → 0.7.0b3__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.
- {ag2-0.6.1/ag2.egg-info → ag2-0.7.0b3}/PKG-INFO +28 -28
- {ag2-0.6.1 → ag2-0.7.0b3/ag2.egg-info}/PKG-INFO +28 -28
- {ag2-0.6.1 → ag2-0.7.0b3}/ag2.egg-info/SOURCES.txt +0 -2
- ag2-0.7.0b3/ag2.egg-info/requires.txt +106 -0
- ag2-0.7.0b3/pyproject.toml +311 -0
- {ag2-0.6.1 → ag2-0.7.0b3}/test/test_browser_utils.py +15 -19
- {ag2-0.6.1 → ag2-0.7.0b3}/test/test_code_utils.py +4 -138
- {ag2-0.6.1 → ag2-0.7.0b3}/test/test_notebook.py +2 -1
- ag2-0.6.1/ag2.egg-info/requires.txt +0 -106
- ag2-0.6.1/pyproject.toml +0 -101
- ag2-0.6.1/setup.py +0 -187
- ag2-0.6.1/test/test_function_utils.py +0 -414
- {ag2-0.6.1 → ag2-0.7.0b3}/LICENSE +0 -0
- {ag2-0.6.1 → ag2-0.7.0b3}/NOTICE.md +0 -0
- {ag2-0.6.1 → ag2-0.7.0b3}/README.md +0 -0
- {ag2-0.6.1 → ag2-0.7.0b3}/ag2.egg-info/dependency_links.txt +0 -0
- {ag2-0.6.1 → ag2-0.7.0b3}/ag2.egg-info/top_level.txt +0 -0
- {ag2-0.6.1 → ag2-0.7.0b3}/setup.cfg +0 -0
- {ag2-0.6.1 → ag2-0.7.0b3}/setup_ag2.py +0 -0
- {ag2-0.6.1 → ag2-0.7.0b3}/test/test_graph_utils.py +0 -0
- {ag2-0.6.1 → ag2-0.7.0b3}/test/test_logging.py +0 -0
- {ag2-0.6.1 → ag2-0.7.0b3}/test/test_pydantic.py +0 -0
- {ag2-0.6.1 → ag2-0.7.0b3}/test/test_retrieve_utils.py +0 -0
- {ag2-0.6.1 → ag2-0.7.0b3}/test/test_token_count.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ag2
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0b3
|
|
4
4
|
Summary: Alias package for pyautogen
|
|
5
5
|
Home-page: https://github.com/ag2ai/ag2
|
|
6
6
|
Author: Chi Wang & Qingyun Wu
|
|
@@ -12,41 +12,41 @@ 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:
|
|
16
|
-
Provides-Extra: autobuild
|
|
17
|
-
Provides-Extra: bedrock
|
|
15
|
+
Provides-Extra: test
|
|
18
16
|
Provides-Extra: blendsearch
|
|
19
|
-
Provides-Extra: captainagent
|
|
20
|
-
Provides-Extra: cerebras
|
|
21
|
-
Provides-Extra: cohere
|
|
22
|
-
Provides-Extra: cosmosdb
|
|
23
|
-
Provides-Extra: gemini
|
|
24
|
-
Provides-Extra: graph
|
|
25
|
-
Provides-Extra: graph-rag-falkor-db
|
|
26
|
-
Provides-Extra: groq
|
|
27
|
-
Provides-Extra: interop
|
|
28
|
-
Provides-Extra: interop-crewai
|
|
29
|
-
Provides-Extra: interop-langchain
|
|
30
|
-
Provides-Extra: interop-pydantic-ai
|
|
31
|
-
Provides-Extra: jupyter-executor
|
|
32
|
-
Provides-Extra: lmm
|
|
33
|
-
Provides-Extra: long-context
|
|
34
17
|
Provides-Extra: mathchat
|
|
35
|
-
Provides-Extra: mistral
|
|
36
|
-
Provides-Extra: neo4j
|
|
37
|
-
Provides-Extra: ollama
|
|
38
|
-
Provides-Extra: redis
|
|
39
18
|
Provides-Extra: retrievechat
|
|
40
|
-
Provides-Extra: retrievechat-mongodb
|
|
41
19
|
Provides-Extra: retrievechat-pgvector
|
|
20
|
+
Provides-Extra: retrievechat-mongodb
|
|
42
21
|
Provides-Extra: retrievechat-qdrant
|
|
22
|
+
Provides-Extra: graph-rag-falkor-db
|
|
23
|
+
Provides-Extra: autobuild
|
|
24
|
+
Provides-Extra: captainagent
|
|
43
25
|
Provides-Extra: teachable
|
|
44
|
-
Provides-Extra:
|
|
26
|
+
Provides-Extra: lmm
|
|
27
|
+
Provides-Extra: graph
|
|
28
|
+
Provides-Extra: gemini
|
|
45
29
|
Provides-Extra: together
|
|
46
|
-
Provides-Extra: twilio
|
|
47
|
-
Provides-Extra: types
|
|
48
|
-
Provides-Extra: websockets
|
|
49
30
|
Provides-Extra: websurfer
|
|
31
|
+
Provides-Extra: redis
|
|
32
|
+
Provides-Extra: cosmosdb
|
|
33
|
+
Provides-Extra: websockets
|
|
34
|
+
Provides-Extra: jupyter-executor
|
|
35
|
+
Provides-Extra: types
|
|
36
|
+
Provides-Extra: long-context
|
|
37
|
+
Provides-Extra: anthropic
|
|
38
|
+
Provides-Extra: cerebras
|
|
39
|
+
Provides-Extra: mistral
|
|
40
|
+
Provides-Extra: groq
|
|
41
|
+
Provides-Extra: cohere
|
|
42
|
+
Provides-Extra: ollama
|
|
43
|
+
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
|
|
50
50
|
License-File: LICENSE
|
|
51
51
|
License-File: NOTICE.md
|
|
52
52
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ag2
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0b3
|
|
4
4
|
Summary: Alias package for pyautogen
|
|
5
5
|
Home-page: https://github.com/ag2ai/ag2
|
|
6
6
|
Author: Chi Wang & Qingyun Wu
|
|
@@ -12,41 +12,41 @@ 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:
|
|
16
|
-
Provides-Extra: autobuild
|
|
17
|
-
Provides-Extra: bedrock
|
|
15
|
+
Provides-Extra: test
|
|
18
16
|
Provides-Extra: blendsearch
|
|
19
|
-
Provides-Extra: captainagent
|
|
20
|
-
Provides-Extra: cerebras
|
|
21
|
-
Provides-Extra: cohere
|
|
22
|
-
Provides-Extra: cosmosdb
|
|
23
|
-
Provides-Extra: gemini
|
|
24
|
-
Provides-Extra: graph
|
|
25
|
-
Provides-Extra: graph-rag-falkor-db
|
|
26
|
-
Provides-Extra: groq
|
|
27
|
-
Provides-Extra: interop
|
|
28
|
-
Provides-Extra: interop-crewai
|
|
29
|
-
Provides-Extra: interop-langchain
|
|
30
|
-
Provides-Extra: interop-pydantic-ai
|
|
31
|
-
Provides-Extra: jupyter-executor
|
|
32
|
-
Provides-Extra: lmm
|
|
33
|
-
Provides-Extra: long-context
|
|
34
17
|
Provides-Extra: mathchat
|
|
35
|
-
Provides-Extra: mistral
|
|
36
|
-
Provides-Extra: neo4j
|
|
37
|
-
Provides-Extra: ollama
|
|
38
|
-
Provides-Extra: redis
|
|
39
18
|
Provides-Extra: retrievechat
|
|
40
|
-
Provides-Extra: retrievechat-mongodb
|
|
41
19
|
Provides-Extra: retrievechat-pgvector
|
|
20
|
+
Provides-Extra: retrievechat-mongodb
|
|
42
21
|
Provides-Extra: retrievechat-qdrant
|
|
22
|
+
Provides-Extra: graph-rag-falkor-db
|
|
23
|
+
Provides-Extra: autobuild
|
|
24
|
+
Provides-Extra: captainagent
|
|
43
25
|
Provides-Extra: teachable
|
|
44
|
-
Provides-Extra:
|
|
26
|
+
Provides-Extra: lmm
|
|
27
|
+
Provides-Extra: graph
|
|
28
|
+
Provides-Extra: gemini
|
|
45
29
|
Provides-Extra: together
|
|
46
|
-
Provides-Extra: twilio
|
|
47
|
-
Provides-Extra: types
|
|
48
|
-
Provides-Extra: websockets
|
|
49
30
|
Provides-Extra: websurfer
|
|
31
|
+
Provides-Extra: redis
|
|
32
|
+
Provides-Extra: cosmosdb
|
|
33
|
+
Provides-Extra: websockets
|
|
34
|
+
Provides-Extra: jupyter-executor
|
|
35
|
+
Provides-Extra: types
|
|
36
|
+
Provides-Extra: long-context
|
|
37
|
+
Provides-Extra: anthropic
|
|
38
|
+
Provides-Extra: cerebras
|
|
39
|
+
Provides-Extra: mistral
|
|
40
|
+
Provides-Extra: groq
|
|
41
|
+
Provides-Extra: cohere
|
|
42
|
+
Provides-Extra: ollama
|
|
43
|
+
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
|
|
50
50
|
License-File: LICENSE
|
|
51
51
|
License-File: NOTICE.md
|
|
52
52
|
|
|
@@ -2,7 +2,6 @@ LICENSE
|
|
|
2
2
|
NOTICE.md
|
|
3
3
|
README.md
|
|
4
4
|
pyproject.toml
|
|
5
|
-
setup.py
|
|
6
5
|
setup_ag2.py
|
|
7
6
|
ag2.egg-info/PKG-INFO
|
|
8
7
|
ag2.egg-info/SOURCES.txt
|
|
@@ -11,7 +10,6 @@ ag2.egg-info/requires.txt
|
|
|
11
10
|
ag2.egg-info/top_level.txt
|
|
12
11
|
test/test_browser_utils.py
|
|
13
12
|
test/test_code_utils.py
|
|
14
|
-
test/test_function_utils.py
|
|
15
13
|
test/test_graph_utils.py
|
|
16
14
|
test/test_logging.py
|
|
17
15
|
test/test_notebook.py
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
pyautogen==0.7.0b3
|
|
2
|
+
|
|
3
|
+
[anthropic]
|
|
4
|
+
pyautogen[anthropic]==0.7.0b3
|
|
5
|
+
|
|
6
|
+
[autobuild]
|
|
7
|
+
pyautogen[autobuild]==0.7.0b3
|
|
8
|
+
|
|
9
|
+
[bedrock]
|
|
10
|
+
pyautogen[bedrock]==0.7.0b3
|
|
11
|
+
|
|
12
|
+
[blendsearch]
|
|
13
|
+
pyautogen[blendsearch]==0.7.0b3
|
|
14
|
+
|
|
15
|
+
[captainagent]
|
|
16
|
+
pyautogen[captainagent]==0.7.0b3
|
|
17
|
+
|
|
18
|
+
[cerebras]
|
|
19
|
+
pyautogen[cerebras]==0.7.0b3
|
|
20
|
+
|
|
21
|
+
[cohere]
|
|
22
|
+
pyautogen[cohere]==0.7.0b3
|
|
23
|
+
|
|
24
|
+
[cosmosdb]
|
|
25
|
+
pyautogen[cosmosdb]==0.7.0b3
|
|
26
|
+
|
|
27
|
+
[gemini]
|
|
28
|
+
pyautogen[gemini]==0.7.0b3
|
|
29
|
+
|
|
30
|
+
[graph]
|
|
31
|
+
pyautogen[graph]==0.7.0b3
|
|
32
|
+
|
|
33
|
+
[graph-rag-falkor-db]
|
|
34
|
+
pyautogen[graph-rag-falkor-db]==0.7.0b3
|
|
35
|
+
|
|
36
|
+
[groq]
|
|
37
|
+
pyautogen[groq]==0.7.0b3
|
|
38
|
+
|
|
39
|
+
[interop]
|
|
40
|
+
pyautogen[interop]==0.7.0b3
|
|
41
|
+
|
|
42
|
+
[interop-crewai]
|
|
43
|
+
pyautogen[interop-crewai]==0.7.0b3
|
|
44
|
+
|
|
45
|
+
[interop-langchain]
|
|
46
|
+
pyautogen[interop-langchain]==0.7.0b3
|
|
47
|
+
|
|
48
|
+
[interop-pydantic-ai]
|
|
49
|
+
pyautogen[interop-pydantic-ai]==0.7.0b3
|
|
50
|
+
|
|
51
|
+
[jupyter-executor]
|
|
52
|
+
pyautogen[jupyter-executor]==0.7.0b3
|
|
53
|
+
|
|
54
|
+
[lmm]
|
|
55
|
+
pyautogen[lmm]==0.7.0b3
|
|
56
|
+
|
|
57
|
+
[long-context]
|
|
58
|
+
pyautogen[long-context]==0.7.0b3
|
|
59
|
+
|
|
60
|
+
[mathchat]
|
|
61
|
+
pyautogen[mathchat]==0.7.0b3
|
|
62
|
+
|
|
63
|
+
[mistral]
|
|
64
|
+
pyautogen[mistral]==0.7.0b3
|
|
65
|
+
|
|
66
|
+
[neo4j]
|
|
67
|
+
pyautogen[neo4j]==0.7.0b3
|
|
68
|
+
|
|
69
|
+
[ollama]
|
|
70
|
+
pyautogen[ollama]==0.7.0b3
|
|
71
|
+
|
|
72
|
+
[redis]
|
|
73
|
+
pyautogen[redis]==0.7.0b3
|
|
74
|
+
|
|
75
|
+
[retrievechat]
|
|
76
|
+
pyautogen[retrievechat]==0.7.0b3
|
|
77
|
+
|
|
78
|
+
[retrievechat-mongodb]
|
|
79
|
+
pyautogen[retrievechat-mongodb]==0.7.0b3
|
|
80
|
+
|
|
81
|
+
[retrievechat-pgvector]
|
|
82
|
+
pyautogen[retrievechat-pgvector]==0.7.0b3
|
|
83
|
+
|
|
84
|
+
[retrievechat-qdrant]
|
|
85
|
+
pyautogen[retrievechat-qdrant]==0.7.0b3
|
|
86
|
+
|
|
87
|
+
[teachable]
|
|
88
|
+
pyautogen[teachable]==0.7.0b3
|
|
89
|
+
|
|
90
|
+
[test]
|
|
91
|
+
pyautogen[test]==0.7.0b3
|
|
92
|
+
|
|
93
|
+
[together]
|
|
94
|
+
pyautogen[together]==0.7.0b3
|
|
95
|
+
|
|
96
|
+
[twilio]
|
|
97
|
+
pyautogen[twilio]==0.7.0b3
|
|
98
|
+
|
|
99
|
+
[types]
|
|
100
|
+
pyautogen[types]==0.7.0b3
|
|
101
|
+
|
|
102
|
+
[websockets]
|
|
103
|
+
pyautogen[websockets]==0.7.0b3
|
|
104
|
+
|
|
105
|
+
[websurfer]
|
|
106
|
+
pyautogen[websurfer]==0.7.0b3
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[metadata]
|
|
6
|
+
license_file = "LICENSE"
|
|
7
|
+
description-file = "README.md"
|
|
8
|
+
|
|
9
|
+
[project]
|
|
10
|
+
name = "pyautogen"
|
|
11
|
+
description = "A programming framework for agentic AI"
|
|
12
|
+
readme = "README.md"
|
|
13
|
+
authors = [
|
|
14
|
+
{name = "Chi Wang", email = "support@ag2.ai"},
|
|
15
|
+
{name = "Qingyun Wu", email = "support@ag2.ai"},
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
keywords = [
|
|
19
|
+
"ai",
|
|
20
|
+
"agent",
|
|
21
|
+
"autogen",
|
|
22
|
+
"ag2",
|
|
23
|
+
"pyautogen",
|
|
24
|
+
"ag2.ai",
|
|
25
|
+
"ag2ai",
|
|
26
|
+
"agentic"
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
requires-python = ">=3.9,<3.14"
|
|
30
|
+
|
|
31
|
+
dynamic = ["version"]
|
|
32
|
+
|
|
33
|
+
classifiers = [
|
|
34
|
+
"Development Status :: 5 - Production/Stable",
|
|
35
|
+
"License :: OSI Approved :: Apache Software License",
|
|
36
|
+
"Programming Language :: Python",
|
|
37
|
+
"Programming Language :: Python :: Implementation :: CPython",
|
|
38
|
+
"Programming Language :: Python :: 3",
|
|
39
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
40
|
+
"Programming Language :: Python :: 3.9",
|
|
41
|
+
"Programming Language :: Python :: 3.10",
|
|
42
|
+
"Programming Language :: Python :: 3.11",
|
|
43
|
+
"Programming Language :: Python :: 3.12",
|
|
44
|
+
"Programming Language :: Python :: 3.13",
|
|
45
|
+
"Operating System :: OS Independent",
|
|
46
|
+
"Topic :: Software Development :: Libraries :: Application Frameworks",
|
|
47
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
48
|
+
"Topic :: Software Development :: Libraries",
|
|
49
|
+
"Topic :: Software Development",
|
|
50
|
+
"Intended Audience :: Developers",
|
|
51
|
+
"Intended Audience :: Information Technology",
|
|
52
|
+
]
|
|
53
|
+
|
|
54
|
+
dependencies = [
|
|
55
|
+
"openai>=1.58",
|
|
56
|
+
"diskcache",
|
|
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
|
+
"python-dotenv",
|
|
63
|
+
"tiktoken",
|
|
64
|
+
# 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
|
|
66
|
+
"docker",
|
|
67
|
+
"packaging",
|
|
68
|
+
"websockets>=14,<15",
|
|
69
|
+
"asyncer==0.0.8",
|
|
70
|
+
"fast_depends>=2.4.12,<3",
|
|
71
|
+
]
|
|
72
|
+
|
|
73
|
+
[project.optional-dependencies]
|
|
74
|
+
# public distributions
|
|
75
|
+
jupyter-executor = [
|
|
76
|
+
"jupyter-kernel-gateway",
|
|
77
|
+
"websocket-client",
|
|
78
|
+
"requests",
|
|
79
|
+
"jupyter-client>=8.6.0",
|
|
80
|
+
"ipykernel>=6.29.0",
|
|
81
|
+
]
|
|
82
|
+
|
|
83
|
+
retrievechat = [
|
|
84
|
+
"protobuf==4.25.3",
|
|
85
|
+
"chromadb==0.5.3",
|
|
86
|
+
"sentence_transformers",
|
|
87
|
+
"pypdf",
|
|
88
|
+
"ipython",
|
|
89
|
+
"beautifulsoup4",
|
|
90
|
+
"markdownify",
|
|
91
|
+
]
|
|
92
|
+
|
|
93
|
+
retrievechat-pgvector = [
|
|
94
|
+
"pyautogen[retrievechat]",
|
|
95
|
+
"pgvector>=0.2.5",
|
|
96
|
+
"psycopg[binary]>=3.1.18; platform_system=='Windows' or platform_system=='Darwin'",
|
|
97
|
+
"psycopg>=3.1.18; platform_system=='Linux'",
|
|
98
|
+
]
|
|
99
|
+
|
|
100
|
+
retrievechat-mongodb = [
|
|
101
|
+
"pyautogen[retrievechat]",
|
|
102
|
+
"pymongo>=4.0.0",
|
|
103
|
+
]
|
|
104
|
+
|
|
105
|
+
retrievechat-qdrant = [
|
|
106
|
+
"pyautogen[retrievechat]",
|
|
107
|
+
"qdrant_client",
|
|
108
|
+
"fastembed>=0.3.1",
|
|
109
|
+
]
|
|
110
|
+
|
|
111
|
+
graph-rag-falkor-db = [
|
|
112
|
+
"graphrag_sdk==0.3.3",
|
|
113
|
+
"falkordb>=1.0.10"
|
|
114
|
+
]
|
|
115
|
+
|
|
116
|
+
neo4j = [
|
|
117
|
+
"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",
|
|
122
|
+
]
|
|
123
|
+
|
|
124
|
+
# used for agentchat_realtime_swarm notebook and realtime agent twilio demo
|
|
125
|
+
twilio = [
|
|
126
|
+
"fastapi>=0.115.0,<1",
|
|
127
|
+
"uvicorn>=0.30.6,<1",
|
|
128
|
+
"twilio>=9.3.2"
|
|
129
|
+
]
|
|
130
|
+
|
|
131
|
+
interop-crewai = [
|
|
132
|
+
"crewai[tools]>=0.86,<1; python_version>='3.10' and python_version<'3.13'",
|
|
133
|
+
"weaviate-client==4.10.2; python_version>='3.10' and python_version<'3.13'",
|
|
134
|
+
]
|
|
135
|
+
interop-langchain = ["langchain-community>=0.3.12,<1"]
|
|
136
|
+
interop-pydantic-ai = ["pydantic-ai==0.0.13"]
|
|
137
|
+
interop =[
|
|
138
|
+
"pyautogen[interop-crewai, interop-langchain, interop-pydantic-ai]",
|
|
139
|
+
]
|
|
140
|
+
|
|
141
|
+
types = [
|
|
142
|
+
"mypy==1.9.0",
|
|
143
|
+
"pyautogen[test, jupyter-executor, interop]",
|
|
144
|
+
]
|
|
145
|
+
|
|
146
|
+
# pysqlite3-binary used so it doesn't need to compile pysqlite3
|
|
147
|
+
autobuild = ["chromadb", "sentence-transformers", "huggingface-hub", "pysqlite3-binary"]
|
|
148
|
+
|
|
149
|
+
blendsearch = ["flaml[blendsearch]"]
|
|
150
|
+
mathchat = ["sympy", "pydantic==1.10.9", "wolframalpha"]
|
|
151
|
+
captainagent = ["pyautogen[autobuild]", "pandas"]
|
|
152
|
+
teachable = ["chromadb"]
|
|
153
|
+
lmm = ["replicate", "pillow"]
|
|
154
|
+
graph = ["networkx", "matplotlib"]
|
|
155
|
+
gemini = [
|
|
156
|
+
"google-generativeai>=0.5,<1",
|
|
157
|
+
"google-cloud-aiplatform",
|
|
158
|
+
"google-auth",
|
|
159
|
+
"pillow",
|
|
160
|
+
"pydantic",
|
|
161
|
+
"jsonschema",
|
|
162
|
+
]
|
|
163
|
+
together = ["together>=1.2"]
|
|
164
|
+
websurfer = ["beautifulsoup4", "markdownify", "pdfminer.six", "pathvalidate"]
|
|
165
|
+
redis = ["redis"]
|
|
166
|
+
cosmosdb = ["azure-cosmos>=4.2.0"]
|
|
167
|
+
websockets = ["websockets>=14.0,<15"]
|
|
168
|
+
long-context = ["llmlingua<0.3"]
|
|
169
|
+
anthropic = ["anthropic[vertex]>=0.23.1"]
|
|
170
|
+
cerebras = ["cerebras_cloud_sdk>=1.0.0"]
|
|
171
|
+
mistral = ["mistralai>=1.0.1"]
|
|
172
|
+
groq = ["groq>=0.9.0"]
|
|
173
|
+
cohere = ["cohere>=5.5.8"]
|
|
174
|
+
ollama = ["ollama>=0.3.3", "fix_busted_json>=0.0.18"]
|
|
175
|
+
bedrock = ["boto3>=1.34.149"]
|
|
176
|
+
|
|
177
|
+
# dev dependencies
|
|
178
|
+
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",
|
|
188
|
+
]
|
|
189
|
+
|
|
190
|
+
[project.urls]
|
|
191
|
+
Homepage = "https://ag2.ai/"
|
|
192
|
+
Documentation = "https://docs.ag2.ai/docs/Home"
|
|
193
|
+
Tracker = "https://github.com/ag2ai/ag2/issues"
|
|
194
|
+
Source = "https://github.com/ag2ai/ag2"
|
|
195
|
+
Discord = "https://discord.gg/pAbnFJrkgZ"
|
|
196
|
+
|
|
197
|
+
[tool.hatch.version]
|
|
198
|
+
path = "autogen/version.py"
|
|
199
|
+
|
|
200
|
+
[tool.hatch.build]
|
|
201
|
+
skip-excluded-dirs = true
|
|
202
|
+
exclude = ["/test", "/notebook"]
|
|
203
|
+
|
|
204
|
+
[tool.hatch.build.targets.wheel]
|
|
205
|
+
packages = ["autogen"]
|
|
206
|
+
only-include = ["autogen", "autogen/agentchat/contrib/captainagent/tools"]
|
|
207
|
+
|
|
208
|
+
[tool.hatch.build.targets.sdist]
|
|
209
|
+
exclude = ["test", "notebook"]
|
|
210
|
+
|
|
211
|
+
[tool.hatch.build.targets.wheel.sources]
|
|
212
|
+
"autogen" = "autogen"
|
|
213
|
+
"autogen/agentchat/contrib/captainagent/tools" = "autogen/agentchat/contrib/captainagent/tools"
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
[tool.pytest.ini_options]
|
|
217
|
+
addopts = '--cov=. --cov-append --cov-branch --cov-report=xml -m "not conda"'
|
|
218
|
+
markers = ["conda: test related to conda forge distribution"]
|
|
219
|
+
|
|
220
|
+
[tool.black]
|
|
221
|
+
# https://github.com/psf/black
|
|
222
|
+
line-length = 120
|
|
223
|
+
exclude = "(.eggs|.git|.hg|.mypy_cache|.venv|_build|buck-out|build|dist)"
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
[tool.ruff]
|
|
227
|
+
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
|
+
|
|
242
|
+
# Exclude a variety of commonly ignored directories.
|
|
243
|
+
exclude = [
|
|
244
|
+
".eggs",
|
|
245
|
+
".git",
|
|
246
|
+
".mypy_cache",
|
|
247
|
+
".ruff_cache",
|
|
248
|
+
"__pypackages__",
|
|
249
|
+
"_build",
|
|
250
|
+
"build",
|
|
251
|
+
"dist",
|
|
252
|
+
"docs",
|
|
253
|
+
# This file needs to be either upgraded or removed and therefore should be
|
|
254
|
+
# ignore from type checking for now
|
|
255
|
+
"math_utils\\.py$",
|
|
256
|
+
"**/cap/py/autogencap/proto/*",
|
|
257
|
+
]
|
|
258
|
+
unfixable = ["F401"]
|
|
259
|
+
|
|
260
|
+
[tool.ruff.lint.mccabe]
|
|
261
|
+
# Unlike Flake8, default to a complexity level of 10.
|
|
262
|
+
max-complexity = 10
|
|
263
|
+
|
|
264
|
+
[tool.mypy]
|
|
265
|
+
files = [
|
|
266
|
+
"autogen/logger",
|
|
267
|
+
"autogen/exception_utils.py",
|
|
268
|
+
"autogen/coding",
|
|
269
|
+
"autogen/oai/openai_utils.py",
|
|
270
|
+
"autogen/_pydantic.py",
|
|
271
|
+
"autogen/io",
|
|
272
|
+
"autogen/tools",
|
|
273
|
+
"autogen/interop",
|
|
274
|
+
"autogen/agentchat/realtime_agent",
|
|
275
|
+
"autogen/messages",
|
|
276
|
+
"test/test_pydantic.py",
|
|
277
|
+
"test/io",
|
|
278
|
+
"test/tools",
|
|
279
|
+
"test/interop",
|
|
280
|
+
"test/agentchat/realtime_agent",
|
|
281
|
+
"test/messages",
|
|
282
|
+
]
|
|
283
|
+
exclude = [
|
|
284
|
+
"autogen/math_utils\\.py",
|
|
285
|
+
"autogen/oai/completion\\.py",
|
|
286
|
+
"autogen/agentchat/contrib/compressible_agent\\.py",
|
|
287
|
+
"autogen/agentchat/contrib/math_user_proxy_agent.py",
|
|
288
|
+
"autogen/oai/openai_utils.py",
|
|
289
|
+
]
|
|
290
|
+
|
|
291
|
+
strict = true
|
|
292
|
+
ignore_missing_imports = true
|
|
293
|
+
install_types = true
|
|
294
|
+
non_interactive = true
|
|
295
|
+
plugins = ["pydantic.mypy"]
|
|
296
|
+
|
|
297
|
+
# remove after all files in the repo are fixed
|
|
298
|
+
follow_imports = "silent"
|
|
299
|
+
|
|
300
|
+
# from https://blog.wolt.com/engineering/2021/09/30/professional-grade-mypy-configuration/
|
|
301
|
+
disallow_untyped_defs = true
|
|
302
|
+
no_implicit_optional = true
|
|
303
|
+
check_untyped_defs = true
|
|
304
|
+
warn_return_any = true
|
|
305
|
+
show_error_codes = true
|
|
306
|
+
|
|
307
|
+
warn_unused_ignores = false
|
|
308
|
+
|
|
309
|
+
disallow_incomplete_defs = true
|
|
310
|
+
disallow_untyped_decorators = true
|
|
311
|
+
disallow_any_unimported = true
|
|
@@ -10,11 +10,10 @@ import hashlib
|
|
|
10
10
|
import math
|
|
11
11
|
import os
|
|
12
12
|
import re
|
|
13
|
-
import
|
|
13
|
+
from tempfile import TemporaryDirectory
|
|
14
14
|
|
|
15
15
|
import pytest
|
|
16
16
|
import requests
|
|
17
|
-
from agentchat.test_assistant_agent import KEY_LOC # noqa: E402
|
|
18
17
|
|
|
19
18
|
BLOG_POST_URL = "https://docs.ag2.ai/blog/2023-04-21-LLM-tuning-math"
|
|
20
19
|
BLOG_POST_TITLE = "Does Model and Inference Parameter Matter in LLM Applications? - A Case Study for MATH - AG2"
|
|
@@ -49,26 +48,26 @@ else:
|
|
|
49
48
|
skip_bing = False
|
|
50
49
|
|
|
51
50
|
|
|
52
|
-
def _rm_folder(path):
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
51
|
+
# def _rm_folder(path):
|
|
52
|
+
# """Remove all the regular files in a folder, then deletes the folder. Assumes a flat file structure, with no subdirectories."""
|
|
53
|
+
# for fname in os.listdir(path):
|
|
54
|
+
# fpath = os.path.join(path, fname)
|
|
55
|
+
# if os.path.isfile(fpath):
|
|
56
|
+
# os.unlink(fpath)
|
|
57
|
+
# os.rmdir(path)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
@pytest.fixture
|
|
61
|
+
def downloads_folder():
|
|
62
|
+
with TemporaryDirectory() as downloads_folder:
|
|
63
|
+
yield downloads_folder
|
|
59
64
|
|
|
60
65
|
|
|
61
66
|
@pytest.mark.skipif(
|
|
62
67
|
skip_all,
|
|
63
68
|
reason="do not run if dependency is not installed",
|
|
64
69
|
)
|
|
65
|
-
def test_simple_text_browser():
|
|
66
|
-
# Create a downloads folder (removing any leftover ones from prior tests)
|
|
67
|
-
downloads_folder = os.path.join(KEY_LOC, "downloads")
|
|
68
|
-
if os.path.isdir(downloads_folder):
|
|
69
|
-
_rm_folder(downloads_folder)
|
|
70
|
-
os.mkdir(downloads_folder)
|
|
71
|
-
|
|
70
|
+
def test_simple_text_browser(downloads_folder: str):
|
|
72
71
|
# Instantiate the browser
|
|
73
72
|
user_agent = "python-requests/" + requests.__version__
|
|
74
73
|
viewport_size = 1024
|
|
@@ -151,9 +150,6 @@ def test_simple_text_browser():
|
|
|
151
150
|
viewport = browser.visit_page(PDF_URL)
|
|
152
151
|
assert PDF_STRING in viewport
|
|
153
152
|
|
|
154
|
-
# Clean up
|
|
155
|
-
_rm_folder(downloads_folder)
|
|
156
|
-
|
|
157
153
|
|
|
158
154
|
@pytest.mark.skipif(
|
|
159
155
|
skip_all or skip_bing,
|