Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
87 lines (77 loc) · 2.38 KB
/
Copy pathpyproject.toml
File metadata and controls
87 lines (77 loc) · 2.38 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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
[build-system]
requires = [ "poetry-core>=1.0.0",]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "nebula-ai"
version = "3.0.0-beta.3"
description = "Native local-first security testing workbench"
readme = "README.md"
authors = [ "David I <david@berylliumsec.com>",]
license = "BSD"
homepage = "https://github.com/berylliumsec/nebula"
keywords = [ "AI", "ethical hacking", "nmap", "zap", "crackmapexec",]
classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3",]
include = [ "src/nebula/v3/operator_help.md", "src/nebula/v3/diagnostic_guidance.json", "src/nebula/v3/report_assets/**/*",]
[[tool.poetry.packages]]
include = "nebula"
from = "src"
[tool.poetry.scripts]
nebula-core = "nebula.v3.cli:main"
nebula-browserd = "nebula.v3.browserd:main"
[tool.poetry.dependencies]
python = ">=3.11,<3.14"
boto3 = "*"
websockets = "*"
fastapi = ">=0.135.3,<1"
starlette = ">=1.5,<2"
uvicorn = "*"
pydantic = "*"
SQLAlchemy = ">=2.0,<3"
psycopg = { version = ">=3.2,<4", extras = ["binary"] }
alembic = ">=1.14,<2"
httpx = ">=0.28,<1"
typer = ">=0.16,<1"
langgraph = ">=1.1,<2"
langgraph-checkpoint-sqlite = ">=3.1.1,<4"
jsonschema = ">=4.23,<5"
regex = ">=2024.11.6,<2027"
PyYAML = ">=6.0.2,<7"
cryptography = ">=50.0.0,<51"
packaging = "*"
semantic-version = "2.10.0"
pypdf = ">=6.16.1,<7"
claude-agent-sdk = ">=0.2.118,<0.3"
jedi = ">=0.19,<1"
ruff = ">=0.11,<1"
reportlab = ">=5,<6"
pillow = ">=11,<13"
keyring = ">=25,<27"
chromadb = ">=1.5.9,<2"
playwright = ">=1.58,<2"
json5 = ">=0.15,<1"
[tool.poetry.extras]
# Flash Attention is intentionally not installed by the core package. Local
# inference is provided by external runtimes (Ollama/vLLM/SGLang/llama.cpp),
# which keeps the control plane small and avoids compiling GPU extensions at
# install time.
[tool.poetry.group.dev.dependencies]
pytest = ">=8.3,<10"
pytest-cov = ">=6,<8"
mypy = ">=1.15,<2"
types-jsonschema = ">=4.23,<5"
types-PyYAML = ">=6.0,<7"
types-regex = ">=2024.11,<2027"
pyinstaller = ">=6.12,<7"
tomli = ">=2.2,<3"
[tool.pytest.ini_options]
testpaths = [ "tests/v3",]
addopts = "--import-mode=importlib"
pythonpath = [ ".", "src" ]
[[tool.mypy.overrides]]
module = ["reportlab", "reportlab.*"]
ignore_missing_imports = true
[tool.coverage.run]
source = [ "src/nebula",]
[tool.coverage.report]
fail_under = 100
show_missing = true