Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .claude/settings.local.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,15 @@
"Bash(\"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\CMake\\bin\\cmake.exe\" --build . --config Debug)",
"Bash(git fetch:*)",
"Bash(git describe:*)",
"Bash(git checkout:*)"
"Bash(git checkout:*)",
"Bash(dir:*)",
"Bash(python -m pytest:*)",
"Bash(python -m venv:*)",
"Bash(python -m pip install:*)",
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git push:*)",
"Bash(gh pr create:*)"
],
"deny": [],
"ask": []
Expand Down
21 changes: 8 additions & 13 deletions .github/workflows/python-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,16 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r python/requirements.txt
pip install pytest pytest-cov pytest-asyncio
pip install -e .[dev]

- name: Run tests
run: |
cd tests
pytest -v --cov=../python --cov-report=xml --cov-report=term
pytest -v --cov-report=xml --cov-report=term

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
file: ./tests/coverage.xml
file: ./coverage.xml
flags: unittests
name: codecov-${{ matrix.os }}-py${{ matrix.python-version }}

Expand All @@ -60,22 +58,19 @@ jobs:
with:
python-version: '3.11'

- name: Install linting tools
- name: Install package and linting tools
run: |
pip install black ruff mypy
pip install -e .[dev]

- name: Run black (format check)
run: |
cd python
black --check .
black --check python

- name: Run ruff (lint)
run: |
cd python
ruff check .
ruff check python

- name: Run mypy (type check)
run: |
cd python
mypy --ignore-missing-imports agent_runtime backends tools
mypy --ignore-missing-imports python/agent_runtime python/backends python/tools
continue-on-error: true # Don't fail on type errors initially
2 changes: 1 addition & 1 deletion AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Agent Arena is maintained by **JustInternetAI** (https://github.com/JustInternet

Agent Arena was founded in 2025 by:

- **Andrew Madison** - Co-Founder (https://github.com/andrewmadison)
- **Andrew Madison** - Co-Founder (https://github.com/andrewbmadison)
- **Justin Madison** - Co-Founder (https://github.com/justinmadison)

## Core Contributors
Expand Down
113 changes: 113 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "agent-arena"
version = "0.1.0"
description = "LLM-driven autonomous agent benchmarking framework"
readme = "README.md"
requires-python = ">=3.11"
license = {text = "Apache-2.0"}
authors = [
{name = "Andrew Madison"},
{name = "Justin Madison"},
]
keywords = ["ai", "agents", "llm", "benchmark", "simulation"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]

dependencies = [
"numpy>=1.24.0",
"pydantic>=2.0.0",
"msgpack>=1.0.5",
"hydra-core>=1.3.0",
"omegaconf>=2.3.0",
"requests>=2.31.0",
"python-dotenv>=1.0.0",
"tenacity>=8.2.0",
"aiohttp>=3.9.0",
"tqdm>=4.66.0",
"rich>=13.7.0",
"structlog>=23.2.0",
"python-json-logger>=2.0.7",
"pandas>=2.0.0",
]

[project.optional-dependencies]
llm = [
"llama-cpp-python>=0.2.0",
"openai>=1.0.0",
"torch>=2.0.0",
"transformers>=4.35.0",
]

vector = [
"faiss-cpu>=1.7.4",
"sentence-transformers>=2.2.0",
"chromadb>=0.5.0",
]

full = [
"agent-arena[llm,vector]",
"pillow>=10.0.0",
]

dev = [
"pytest>=7.4.0",
"pytest-asyncio>=0.21.0",
"pytest-cov>=4.1.0",
"black>=23.0.0",
"ruff>=0.1.0",
"mypy>=1.5.0",
]

[project.urls]
Homepage = "https://github.com/JustInternetAI/AgentArena"
Repository = "https://github.com/JustInternetAI/AgentArena"
Issues = "https://github.com/JustInternetAI/AgentArena/issues"

[tool.setuptools]
package-dir = {"" = "python"}

[tool.setuptools.packages.find]
where = ["python"]

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = [
"-v",
"--strict-markers",
"--cov=agent_runtime",
"--cov=backends",
"--cov=tools",
]

[tool.black]
line-length = 100
target-version = ["py311", "py312"]
include = '\.pyi?$'

[tool.ruff]
line-length = 100
target-version = "py311"
select = ["E", "F", "I", "N", "W", "UP"]
ignore = ["E501"] # Line too long (handled by black)

[tool.mypy]
python_version = "3.11"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = false
ignore_missing_imports = true
1 change: 1 addition & 0 deletions tests/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Tests for Agent Arena."""
Loading