-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
110 lines (101 loc) · 2.66 KB
/
pyproject.toml
File metadata and controls
110 lines (101 loc) · 2.66 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
[project]
name = "cryton"
version = "3.1.0"
description = "Advanced scenario orchestrator"
authors = [
{name = "Ivo Nutár", email = "nutar@ics.muni.cz"},
{name = "Milan Boháček", email = "bohacek@ics.muni.cz"},
{name = "Jiří Rája", email = "raja@ics.muni.cz"},
{name = "Andrej Tomči", email = "tomci@ics.muni.cz"},
]
maintainers = [
{name = "Jiří Rája", email = "raja@ics.muni.cz"},
]
readme = "README.md"
license = { text = "MIT" }
homepage = "https://gitlab.ics.muni.cz/cryton"
repository = "https://gitlab.ics.muni.cz/cryton/cryton"
documentation = "https://cryton.gitlab-pages.ics.muni.cz/"
"Bug Tracker" = "https://github.com/CSIRT-MU/Cryton/issues"
keywords = [
"cryton", "hive", "advanced", "scheduler", "cli", "client", "orchestrator", "attacker", "cron", "job", "worker"
]
requires-python = ">=3.11,<4.0"
dependencies = [
"python-dotenv>=1.0.0",
"click>=8.1.3",
"PyYAML>=6.0.1",
"pytest-cov (==6.0.0)",
]
[project.optional-dependencies]
hive = [
"APScheduler>=3.10.4",
"Django>=4.0.1,<5.0",
"django-cors-headers>=4.3.0",
"djangorestframework>=3.14.0",
"drf-spectacular>=0.27.0",
"Jinja2>=3.0.3",
"psycopg2-binary>=2.9.5",
"structlog>=24.1.0",
"pytz>=2024.1",
"AMQPStorm>=2.10.4",
"uuid>=1.30",
"SQLAlchemy>=2.0.23",
"gunicorn>=23.0.0",
"uvicorn>=0.32.0",
"jsonschema>=4.22.0",
"snek-sploit>=0.8.3",
]
modules = [
"python3-nmap>=1.6.0",
"utinni-fork>=0.5.1",
]
worker = [
"snek-sploit>=0.8.3",
"AMQPStorm>=2.10.4",
"structlog>=24.1.0",
"bottle>=0.13.1",
"pyfiglet>=1.0.2",
"requests>=2.28.2",
"jsonschema>=4.22.0",
# module dependencies
"python3-nmap>=1.6.0",
"utinni-fork>=0.5.1",
]
cli = [
"requests>=2.28.2",
"tzlocal>=5.2",
"pytz>=2024.1",
]
[project.scripts]
cryton-hive = 'cryton.hive.entrypoint:cli'
cryton-worker = 'cryton.worker.entrypoint:cli'
cryton-cli = 'cryton.cli.entrypoint:cli'
[tool.poetry]
requires-poetry = ">=2.0"
[tool.poetry.group.dev.dependencies]
pytest = "^8.3.3"
pytest-cov = "^6.0.0"
pytest-asyncio = "^0.25.3"
pytest-django = "^4.7.0"
pytest-mock = "^3.6.1"
model-bakery = "^1.4.0"
tox = "^4.4.4"
drf-spectacular-sidecar = "^2025.2.0"
black = "^24.4.0"
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
mkdocs = "^1.3.1"
mkdocs-material = "^9.0.0"
mike = "^2.0.0"
mkdocs-macros-plugin = "^1.0.0"
mkdocs-include-markdown-plugin = "^6.0.3"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 120
[tool.pytest.ini_options]
DJANGO_SETTINGS_MODULE = "tests.settings"
python_files = ["tests.py", "test_*.py", "*_tests.py"]