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
4 changes: 3 additions & 1 deletion .github/workflows/code_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
with:
# Install a specific version of uv.
version: "0.9.7"
version: "0.9.22"
enable-cache: true

- name: "Set up Python"
Expand All @@ -54,3 +54,5 @@ jobs:
uses: pypa/gh-action-pip-audit@1220774d901786e6f652ae159f7b6bc8fea6d266
with:
virtual-environment: .venv/
ignore-vulns: |
GHSA-xm59-rqc7-hhvf
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
with:
# Install a specific version of uv.
version: "0.9.7"
version: "0.9.22"
enable-cache: true

- name: "Set up Python"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
with:
# Install a specific version of uv.
version: "0.9.7"
version: "0.9.22"
enable-cache: true

- name: "Set up Python"
Expand Down
12 changes: 6 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0 # Use the ref you want to point at
rev: v6.0.0 # Use the ref you want to point at
hooks:
- id: trailing-whitespace
- id: check-ast
Expand All @@ -11,7 +11,7 @@ repos:
- id: end-of-file-fixer
- id: mixed-line-ending
args: [--fix=lf]
- id: check-byte-order-marker
- id: fix-byte-order-marker
- id: check-merge-conflict
- id: check-symlinks
- id: detect-private-key
Expand All @@ -20,12 +20,12 @@ repos:
- id: check-toml

- repo: https://github.com/astral-sh/uv-pre-commit
rev: 0.6.12
rev: 0.9.22
hooks:
- id: uv-lock

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: 'v0.11.4'
rev: v0.14.10
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
Expand All @@ -34,7 +34,7 @@ repos:
types_or: [python, jupyter]

- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.15.0
rev: v1.19.1
hooks:
- id: mypy
entry: python3 -m mypy --config-file pyproject.toml
Expand All @@ -57,5 +57,5 @@ ci:
autoupdate_branch: ''
autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate'
autoupdate_schedule: weekly
skip: [pytest,doctest,mypy]
skip: [mypy]
submodules: false
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Example implementation for an example topic."""

from aieng.topic.impl.example_impl import example_impl
from aieng.agent_evals.impl.example_impl import example_impl


__all__ = ["example_impl"]
116 changes: 13 additions & 103 deletions aieng-eval-agents/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,116 +1,26 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[dependency-groups]
dev = [
"codecov>=2.1.13",
"mypy>=1.14.1",
"nbqa>=1.9.1",
"pip-audit>=2.7.3",
"pre-commit>=4.1.0",
"pytest>=8.3.4",
"pytest-asyncio>=0.25.2",
"pytest-cov>=6.0.0",
"pytest-mock>=3.14.0",
"ruff>=0.9.2",
]

[project]
name = "aieng-eval-agents"
version = "0.1.0"
description = "Agentic AI Evaluation reference implementation from Vector Institute AI Engineering"
authors = [{name = "Vector AI Engineering", email = "ai_engineering@vectorinstitute.ai"}]
requires-python = ">=3.11,<4.0"
requires-python = ">=3.12,<4.0"
readme = "README.md"
license = "MIT"
dependencies = []
dependencies = [
"kagglehub>=0.3.13",
]

[dependency-groups]
dev = [
"pytest>=8.3.5",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.sdist]
include = ["aieng/"]

[tool.hatch.build.targets.wheel]
include = ["aieng/"]

[tool.mypy]
ignore_missing_imports = true
install_types = true
pretty = true
namespace_packages = true
explicit_package_bases = true
non_interactive = true
warn_unused_configs = true
allow_any_generics = false
allow_subclassing_any = false
allow_untyped_calls = false
allow_untyped_defs = false
allow_incomplete_defs = false
check_untyped_defs = true
allow_untyped_decorators = false
warn_redundant_casts = true
warn_unused_ignores = true
warn_return_any = true
implicit_reexport = false
strict_equality = true
extra_checks = true

[tool.ruff]
include = ["*.py", "pyproject.toml", "*.ipynb"]
line-length = 88

[tool.ruff.format]
quote-style = "double"
indent-style = "space"
docstring-code-format = true

[tool.ruff.lint]
select = [
"A", # flake8-builtins
"B", # flake8-bugbear
"COM", # flake8-commas
"C4", # flake8-comprehensions
"RET", # flake8-return
"SIM", # flake8-simplify
"ICN", # flake8-import-conventions
"Q", # flake8-quotes
"RSE", # flake8-raise
"D", # pydocstyle
"E", # pycodestyle
"F", # pyflakes
"I", # isort
"W", # pycodestyle
"N", # pep8-naming
"ERA", # eradicate
"PL", # pylint
]
fixable = ["A", "B", "COM", "C4", "RET", "SIM", "ICN", "Q", "RSE", "D", "E", "F", "I", "W", "N", "ERA", "PL"]
ignore = [
"B905", # `zip()` without an explicit `strict=` parameter
"E501", # line too long
"D203", # 1 blank line required before class docstring
"D213", # Multi-line docstring summary should start at the second line
"PLR2004", # Replace magic number with named constant
"PLR0913", # Too many arguments
"COM812", # Missing trailing comma
]

# Ignore import violations in all `__init__.py` files.
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["E402", "F401", "F403", "F811"]

[tool.ruff.lint.pep8-naming]
ignore-names = ["X*", "setUp"]

[tool.ruff.lint.isort]
lines-after-imports = 2

[tool.ruff.lint.pydocstyle]
convention = "numpy"

[tool.ruff.lint.pycodestyle]
max-doc-length = 88

[tool.pytest.ini_options]
markers = [
"integration_test: marks tests as integration tests",
]
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Test example implementation."""

from aieng.topic.impl import example_impl
from aieng.agent_evals.impl import example_impl


def test_example_impl():
Expand Down
75 changes: 38 additions & 37 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,65 +3,58 @@ name = "agentic-ai-evaluation-bootcamp-202602"
version = "0.1.0"
description = "Vector Institute Agentic AI Evaluation Bootcamp 202602"
readme = "README.md"
authors = [ {name = "Vector AI Engineering", email = "ai_engineering@vectorinstitute.ai"}]
authors = [ {name = "Vector AI Engineering", email = "ai_engineering@vectorinstitute.ai"} ]
license = "Apache-2.0"
requires-python = ">=3.12"
requires-python = ">=3.12,<4.0"
dependencies = [
"aiohttp>=3.12.14",
"aieng-eval-agents>=0.1.0",
"aiohttp>=3.13.3",
"beautifulsoup4>=4.13.4",
"datasets>=3.6.0",
"e2b-code-interpreter>=1.5.2",
"gradio>=5.37.0",
"langfuse>=3.1.3",
"e2b-code-interpreter>=2.4.1",
"gradio>=6.0.2",
"langfuse>=3.10.3",
"lxml>=6.0.0",
"nest-asyncio>=1.6.0",
"numpy<2.3.0",
"openai>=1.93.1",
"openai-agents>=0.1.0",
"plotly>=6.2.0",
"pydantic>=2.11.7",
"pydantic-ai-slim[logfire]>=0.3.7",
"pytest-asyncio>=0.25.2",
"openai>=2.8.1",
"openai-agents>=0.6.1",
"plotly>=6.5.0",
"pydantic>=2.12.4",
"pydantic-ai-slim[logfire]>=1.26.0",
"scikit-learn>=1.7.0",
"weaviate-client>=4.15.4",
"urllib3>=2.6.0",
"weaviate-client>=4.18.3",
"urllib3>=2.6.3",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src"]

[dependency-groups]
dev = [
"aieng-platform-onboard>=0.3.6",
"mypy>=1.14.1",
"aieng-platform-onboard>=0.4.0",
"mypy>=1.19.0",
"codecov>=2.1.13",
"ipykernel>=6.29.5",
"ipython>=9.4.0",
"ipykernel>=7.1.0",
"ipython>=9.8.0",
"ipywidgets>=8.1.7",
"jupyter>=1.1.1",
"jupyterlab>=4.4.8",
"nbqa>=1.9.1",
"pip-audit>=2.7.3",
"pre-commit>=4.1.0",
"pip-audit>=2.9.0",
"pre-commit>=4.2.0",
"pytest>=8.3.4",
"pytest-asyncio>=0.25.2",
"pytest-cov>=6.0.0",
"pytest-asyncio>=0.26.0",
"pytest-cov>=6.1.1",
"pytest-mock>=3.14.0",
"ruff>=0.12.2",
"transformers>=4.54.1",
"ruff>=0.14.7",
"transformers>=4.57.3",
]
docs = [
"jinja2>=3.1.6", # Pinning version to address vulnerability GHSA-cpwx-vrp4-4pq7
"mkdocs>=1.6.0",
"mkdocs-material>=9.6.15",
"mkdocstrings>=0.24.1",
"mkdocstrings-python>=1.16.12",
"ipykernel>=6.29.5",
"ipython>=9.4.0",
"mkdocstrings>=1.0.0",
"mkdocstrings-python>=2.0.1",
"ipykernel>=7.1.0",
"ipython>=9.8.0",
]
web-search = [
"google-cloud-firestore>=2.21.0",
Expand All @@ -74,6 +67,14 @@ web-search = [
[tool.uv]
default-groups = ["dev", "docs"]

[tool.uv.workspace]
members = [
"aieng-eval-agents",
]

[tool.uv.sources]
aieng-eval-agents = { workspace = true }

[tool.ruff]
include = ["*.py", "pyproject.toml", "*.ipynb"]
line-length = 88
Expand Down Expand Up @@ -142,5 +143,5 @@ markers = [

[tool.coverage]
[tool.coverage.run]
source=["src/"]
omit=["tests/*", "*__init__.py"]
source=["aieng-eval-agents/aieng"]
omit=["aieng-eval-agents/tests/*", "*__init__.py", "scripts/*"]
Loading