mirror of
https://github.com/416rehman/DeepZero
synced 2026-08-09 11:54:39 +00:00
65 lines
1.8 KiB
TOML
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 = []
|