Files
SpecterOps-Nemesis/projects/cli/pyproject.toml
T
Lee Christensen 8035a6a168 add code
2025-06-13 11:33:07 +02:00

110 lines
2.5 KiB
TOML

[tool.poetry]
name = "cli"
version = "0.1.0"
description = "Nemesis CLI"
authors = ["SpecterOps"]
readme = "README.md"
[tool.poetry.dependencies]
python = ">=3.12,<4.0"
aiohttp = "^3.11.11"
structlog = "^25.1.0"
requests = "^2.32.3"
click = "^8.1.8"
tqdm = "^4.67.1"
colorlog = "^6.9.0"
plyvel = "^1.5.1"
#leveldb-312 = "^1.0.0"
mythic = "^0.2.5"
humanfriendly = "^10.0"
gql = "^3.5.0"
pydantic-settings = "^2.7.1"
dynaconf = "^3.2.7"
docker = "^7.1.0"
asyncpg = "^0.30.0"
pyyaml = "^6.0.2"
common = { path = "../../libs/common", develop = true }
requests-toolbelt = "^1.0.0"
watchdog = "^6.0.0"
[tool.poetry.group.dev.dependencies]
ruff = "^0.9.2"
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.scripts]
submit = "cli.main:submit"
module_runner = "cli.module_runner:main"
stress_test = "cli.stress_test:main"
[tool.ruff]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"C", # flake8-comprehensions
"B", # flake8-bugbear
"UP", # pyupgrade
"NPY", # numpydoc
"A", # flake8-annotations
"TCH001", # Move application-only imports into TYPE_CHECKING block
"TCH002", # Move third-party imports into TYPE_CHECKING block
"TCH003", # Move standard library imports into TYPE_CHECKING block
]
ignore = [
"E501", # line too long, handled by black
"B008", # do not perform function calls in argument defaults
"C901", # too complex
"W191", # indentation contains tabs
"F722", # syntax error in forward annotation
"UP007", # X | Y syntax while we're still supporting 3.9
"UP038", # isinstance() X | Y instance ^
"B905", # zip() without strict (isn't supported in 3.9)
]
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".mypy_cache",
".nox",
".pants.d",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"venv",
]
line-length = 120
indent-width = 4
target-version = "py312"
[tool.ruff.lint]
fixable = ["ALL"]
unfixable = ["B"]
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
extend-select = [
"I", # isort, added per instructions in the VS code extension (https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff)
]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"