Files
416rehman-DeepZero-Agentic-…/pyproject.toml
T

65 lines
1.8 KiB
TOML

[build-system]
requires = ["setuptools>=68.0"]
build-backend = "setuptools.build_meta"
[project]
name = "deepzero"
version = "0.4.0"
description = "agentic pipeline for automated vulnerability research on kernel drivers"
requires-python = ">=3.11"
license = {text = "MIT"}
dependencies = [
"click>=8.0",
"rich>=13.0",
"pyyaml>=6.0",
"jinja2>=3.0",
"python-dotenv>=1.0.0",
]
[project.optional-dependencies]
llm = ["litellm>=1.0"]
serve = ["starlette>=0.27", "uvicorn>=0.22"]
pe = ["lief>=0.14.0"]
full = ["deepzero[llm,serve,pe]"]
# pinned to a minor: these tools change their own rules between releases, so an
# unpinned upgrade can fail the build with nothing in this repository having
# changed. Bump deliberately, and local checks then match what CI runs.
lint = ["ruff==0.16.*", "bandit==1.9.*"]
dev = ["pytest>=7.0", "pytest-asyncio>=0.21.0", "deepzero[full,lint]"]
[project.scripts]
deepzero = "deepzero.cli:main"
[tool.setuptools.packages.find]
where = ["src"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src", "."]
markers = [
# needs a real Ghidra install and a JDK, so it is selected on its own rather
# than making every interpreter under test pay to download one
"ghidra: drives a local Ghidra install (requires GHIDRA_INSTALL_DIR)",
]
[tool.ruff]
line-length = 100
target-version = "py311"
# docs contain illustrative python snippets in markdown. newer ruff versions
# format embedded code blocks, which made `ruff format --check` fail in CI
# purely from a ruff upgrade. documentation examples are prose, not build
# artifacts - keep them out of the code formatter's scope.
extend-exclude = ["docs"]
[tool.ruff.lint]
select = ["E", "F", "W", "I"]
ignore = ["E501"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
[tool.bandit]
exclude_dirs = ["tests", ".venv", "venv"]
skips = []