Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
104 lines (96 loc) · 2.7 KB
/
Copy pathpyproject.toml
File metadata and controls
104 lines (96 loc) · 2.7 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
[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "cnsl"
version = "3.4.33"
description = "Correlated Network Security Layer — A self-hosted SIEM for Linux"
readme = "README.md"
license = "MIT"
requires-python = ">=3.10"
authors = [
{name = "Rahad Bhuiya", email = "rahadbhuiya2021@gmail.com"}
]
keywords = [
"security", "siem", "ssh", "brute-force", "iptables", "ipset",
"intrusion-detection", "threat-detection", "linux",
"honeypot", "ml", "anomaly-detection"
]
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Operating System :: POSIX :: Linux",
"Topic :: Security",
"Topic :: System :: Networking :: Monitoring",
"Intended Audience :: System Administrators",
"Development Status :: 5 - Production/Stable",
]
dependencies = []
[project.optional-dependencies]
# individual feature extras
notify = ["aiohttp>=3.9"]
db = ["aiosqlite>=0.19"]
postgres = ["asyncpg>=0.29"]
yaml = ["pyyaml>=6.0"]
auth = ["bcrypt>=4.0", "PyJWT>=2.8"]
2fa = ["pyotp>=2.9"]
gcp = ["PyJWT[crypto]>=2.8", "aiohttp>=3.9"]
oidc = ["PyJWT[crypto]>=2.8", "aiohttp>=3.9"]
geoip = ["geoip2>=4.7"]
ml = ["scikit-learn>=1.4", "numpy>=1.26"]
reports = ["reportlab>=4.0"]
redis = ["redis>=5.0"]
kafka = ["aiokafka>=0.10"]
# batteries-included
full = [
"aiohttp>=3.9",
"aiosqlite>=0.19",
"pyyaml>=6.0",
"bcrypt>=4.0",
"PyJWT[crypto]>=2.8",
"pyotp>=2.9",
"scikit-learn>=1.4",
"numpy>=1.26",
"reportlab>=4.0",
]
# development
dev = [
"pytest>=7",
"pytest-asyncio",
"pytest-timeout",
"pytest-cov",
"aiohttp>=3.9",
"aiosqlite>=0.19",
"pyyaml>=6.0",
"bcrypt>=4.0",
"PyJWT[crypto]>=2.8",
"pyotp>=2.9",
"scikit-learn>=1.4",
"numpy>=1.26",
"reportlab>=4.0",
]
[project.urls]
Homepage = "https://github.com/rahadbhuiya/cnsl"
Documentation = "https://github.com/rahadbhuiya/cnsl/tree/main/docs"
Repository = "https://github.com/rahadbhuiya/cnsl"
"Bug Tracker" = "https://github.com/rahadbhuiya/cnsl/issues"
Changelog = "https://github.com/rahadbhuiya/cnsl#changelog"
[project.scripts]
cnsl = "cnsl.engine:main"
[tool.setuptools.packages.find]
exclude = ["tests*"]
[tool.setuptools.package-data]
cnsl = ["py.typed"]
[tool.pytest.ini_options]
asyncio_mode = "strict"
timeout = 60
filterwarnings = [
"ignore::pytest.PytestUnhandledThreadExceptionWarning",
"ignore::DeprecationWarning",
]
[tool.pyright]
pythonVersion = "3.11"
typeCheckingMode = "basic"