Files
violin/pyproject.toml
T
3b21e0a92a feat: Automated Benchmark Runner and Evaluation Framework (#68)
* fix: bump distribution version to 3.0.1

* feat(benchmark): introduce benchmark runner engine, Docker containerization, and calibration datasets

* Fix URL/path scope exclusions and update duck-store template

- Modified targets.py to ensure that excluding a specific URL or path does not result in the entire host being blocked. Implemented a strict command payload check for excluded endpoints.

- Updated duck-store benchmark scope template to explicitly block the /vulnerabilities endpoint (which leaks intentional challenges) while allowing access to endpoint documentation.

* fix: correct scope.yaml indentation and refine guard blocking messages

* fix: resolve ModuleNotFoundError when score.py is executed directly

---------

Co-authored-by: Dan <dan@strategicautomation.local>
2026-08-08 13:29:11 +01:00

46 lines
946 B
TOML

[project]
name = "violin"
version = "3.0.1"
description = "Supervised agentic Hermes penetration-testing profile"
requires-python = ">=3.11,<3.12"
dependencies = [
"bashlex>=0.18,<1",
"duckduckgo-search>=6.0.0",
"filelock>=3.13,<4",
"pydantic>=2.0,<3",
"psutil>=6.0.0,<7",
"netaddr>=1.3.0,<2",
"yarl>=1.9,<2",
"tirith>=0.2.2",
]
[dependency-groups]
dev = [
"pytest>=9.0.3,<10",
"pyyaml>=6.0,<7",
"ruff>=0.11,<0.12",
]
[tool.ruff]
target-version = "py311"
line-length = 100
extend-exclude = ["engagements", ".hermes", ".agents"]
[tool.ruff.lint]
select = ["E", "F", "W", "I", "UP", "B", "SIM"]
ignore = ["E501"]
[tool.ruff.lint.per-file-ignores]
"tests/**/*.py" = ["S101", "E402"]
"scripts/**/*.py" = ["E402"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
line-ending = "lf"
[tool.pytest.ini_options]
testpaths = ["tests"]
norecursedirs = ["engagements", ".hermes", ".agents"]