-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpyproject.toml
More file actions
59 lines (50 loc) · 1.24 KB
/
pyproject.toml
File metadata and controls
59 lines (50 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
[build-system]
requires = ["setuptools>=69", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "secnodeapi"
version = "0.1.0"
description = "Autonomous, AI-augmented API penetration testing framework."
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"httpx==0.27.0",
"pydantic==2.6.3",
"structlog==24.1.0",
"litellm==1.34.0",
"PyYAML==6.0.1",
"fastapi==0.115.0",
"uvicorn==0.30.6",
"redis==5.0.8",
"networkx==3.3",
"asyncpg==0.30.0",
"rich>=14.3.3",
]
[project.optional-dependencies]
dev = [
"pytest==8.3.5",
"pytest-asyncio==0.25.3",
"pytest-cov==6.0.0",
"ruff==0.11.2",
"pip-audit==2.8.0",
]
[project.scripts]
secnodeapi = "secnodeapi.cli:entrypoint"
secnodeapi-server = "secnodeapi.api.server:run"
secnodeapi-worker = "secnodeapi.workers.loop:main"
[tool.setuptools]
package-dir = {"" = "src"}
[tool.setuptools.packages.find]
where = ["src"]
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
asyncio_mode = "strict"
asyncio_default_fixture_loop_scope = "function"
addopts = "--cov=src/secnodeapi --cov-report=term-missing --cov-fail-under=70"
[tool.ruff]
line-length = 100
[tool.ruff.lint]
select = ["F"]
[tool.coverage.run]
omit = ["src/secnodeapi/__main__.py"]