Skip to content

Commit 24485ce

Browse files
committed
init commit
1 parent 0bf282b commit 24485ce

4 files changed

Lines changed: 5774 additions & 0 deletions

File tree

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Multi-Agent System Evaluation
2+
3+
Coming November 2025!

maseval/main.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
print("Hello World!")

pyproject.toml

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
[build-system]
2+
requires = ["setuptools>=61.0", "wheel"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "maseval"
7+
version = "0.0.1"
8+
description = "A benchmark for Multi-Agent Systems."
9+
authors = [{ name = "Cornelius Emde", email = "cornelius.emde@**.***" }]
10+
readme = "README.md"
11+
requires-python = ">=3.10"
12+
classifiers = [
13+
"Development Status :: 3 - Alpha",
14+
"Intended Audience :: Science/Research",
15+
"Programming Language :: Python :: 3",
16+
"Programming Language :: Python :: 3.12",
17+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
18+
]
19+
dependencies = ["gitpython>=3.1.0", "tqdm>=4.66.0", "rich>=14.1.0"]
20+
21+
# Enable optional dependencies
22+
[project.optional-dependencies]
23+
# Agent frameworks
24+
smolagents = ["smolagents>=1.21"]
25+
langgraph = ["langgraph>=0.6.0"]
26+
27+
# Inference Enginges
28+
openai = ["openai>=1.107.2"]
29+
google-genai = ["google-genai>=1.37.0"]
30+
transformers = ["transformers>=4.37.0"]
31+
litellm = ["litellm>=0.2.0"]
32+
33+
# Logging
34+
wandb = ["wandb>=0.15.0"]
35+
neptune = ["neptune>=1.14.0"]
36+
langfuse = ["langfuse>=3.3.4"]
37+
38+
# Combinations
39+
examples = [
40+
"datasets>=4.0.0",
41+
"google-genai>=1.37.0",
42+
"langchain>=0.3.27",
43+
"langchain-google-genai>=2.1.12",
44+
"langgraph>=0.6.0",
45+
"langfuse>=3.3.4",
46+
"neptune>=1.14.0",
47+
"openai>=1.107.2",
48+
"smolagents>=1.21.3",
49+
"addict>=2.4.0",
50+
"deepdiff>=8.6.1",
51+
"docstring-parser>=0.17.0",
52+
"loguru>=0.7.3",
53+
"toml>=0.10.2",
54+
"typing-extensions>=4.0.0",
55+
# Jupyter notebook support
56+
"jupyter>=1.0.0",
57+
"ipykernel>=6.0.0",
58+
"ipywidgets>=8.0.0",
59+
]
60+
all = [
61+
# Agent frameworks
62+
"smolagents>=1.21",
63+
"langgraph>=0.6.0",
64+
# Inference engines
65+
"openai>=1.107.2",
66+
"google-genai>=1.37.0",
67+
"transformers>=4.37.0",
68+
"litellm>=0.2.0",
69+
# Logging
70+
"wandb>=0.15.0",
71+
"neptune>=1.14.0",
72+
"langfuse>=3.3.4",
73+
# Examples dependencies
74+
"datasets>=4.0.0",
75+
"langchain>=0.3.27",
76+
"langchain-google-genai>=2.1.12",
77+
"addict>=2.4.0",
78+
"deepdiff>=8.6.1",
79+
"docstring-parser>=0.17.0",
80+
"loguru>=0.7.3",
81+
"toml>=0.10.2",
82+
"typing-extensions>=4.0.0",
83+
"jupyter>=1.0.0",
84+
"ipykernel>=6.0.0",
85+
"ipywidgets>=8.0.0",
86+
]
87+
88+
[project.urls]
89+
"Homepage" = "https://github.com/parameterlab/MASEval"
90+
"Bug Tracker" = "https://github.com/parameterlab/MASEval/issues"
91+
92+
[dependency-groups]
93+
# Dependencies needed for development (linting, testing)
94+
dev = ["pytest>=8.4.2", "pytest-cov>=7.0.0", "ruff>=0.13.0", "ty>=0.0.1a20"]
95+
96+
97+
# Dependencies needed to build the documentation
98+
docs = [
99+
"mkdocs>=1.5",
100+
"mkdocs-material>=9.0.0",
101+
"mkdocstrings[python]>=0.17.0",
102+
"pymdown-extensions>=9.0.0",
103+
"mkdocs-jupyter>=0.24.0",
104+
]
105+
106+
# Dependencies needed for static type checking
107+
typing = [
108+
# All optional dependencies for complete type checking
109+
"smolagents>=1.21",
110+
"langgraph>=0.6.0",
111+
"openai>=1.107.2",
112+
"google-genai>=1.37.0",
113+
"transformers>=4.37.0",
114+
"litellm>=0.2.0",
115+
"wandb>=0.15.0",
116+
"neptune>=1.14.0",
117+
"langfuse>=3.3.4",
118+
]
119+
120+
# Dependencies needed to run the example scripts (for contributors)
121+
examples = [
122+
"datasets>=4.0.0",
123+
"google-genai>=1.37.0",
124+
"langchain>=0.3.27",
125+
"langfuse>=3.3.4",
126+
"neptune>=1.14.0",
127+
"openai>=1.107.2",
128+
"smolagents>=1.21.3",
129+
"langchain-google-genai>=2.1.12",
130+
"langgraph>=0.6.0",
131+
"addict>=2.4.0",
132+
"deepdiff>=8.6.1",
133+
"docstring-parser>=0.17.0",
134+
"loguru>=0.7.3",
135+
"toml>=0.10.2",
136+
"typing-extensions>=4.0.0",
137+
# Jupyter notebook support
138+
"jupyter>=1.0.0",
139+
"ipykernel>=6.0.0",
140+
"ipywidgets>=8.0.0",
141+
]
142+
143+
[tool.setuptools]
144+
packages = ["maseval"]
145+
146+
[tool.ruff]
147+
line-length = 144
148+
exclude = ["examples"]
149+
150+
[tool.pytest.ini_options]
151+
minversion = "6.0"
152+
addopts = "-ra -q"
153+
testpaths = ["tests"]
154+
markers = [
155+
"core: Core tests that don't require optional dependencies",
156+
"interface: Tests that require optional dependencies (smolagents, langgraph, etc.)",
157+
"contract: Cross-implementation contract tests that validate framework-agnostic abstraction",
158+
"smolagents: Tests that specifically require smolagents",
159+
"langgraph: Tests that specifically require langgraph",
160+
]
161+
162+
[tool.coverage.run]
163+
relative_files = true
164+
source = ["maseval"]
165+
omit = ["*/tests/*", "*/examples/*", "*/__pycache__/*"]
166+
branch = true
167+
168+
[tool.coverage.report]
169+
exclude_lines = [
170+
"pragma: no cover",
171+
"def __repr__",
172+
"raise AssertionError",
173+
"raise NotImplementedError",
174+
"if __name__ == .__main__.:",
175+
"if TYPE_CHECKING:",
176+
"@abstractmethod",
177+
]
178+
precision = 2
179+
180+
[tool.coverage.xml]
181+
output = "coverage.xml"
182+
183+
[tool.coverage.html]
184+
directory = "htmlcov"

0 commit comments

Comments
 (0)