1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 jinja2,
6 packaging,
7 poetry-core,
8 pyparsing,
9 pytestCheckHook,
10 pythonOlder,
11 pyyaml,
12 requests,
13}:
14
15buildPythonPackage rec {
16 pname = "pysigma";
17 version = "0.11.23";
18 pyproject = true;
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "SigmaHQ";
24 repo = "pySigma";
25 tag = "v${version}";
26 hash = "sha256-mRDevojeVHgp66RTB90XXeEGP8LYlWCLGmAMv9DW3SA=";
27 };
28
29 pythonRelaxDeps = [
30 "jinja2"
31 "packaging"
32 ];
33
34 build-system = [ poetry-core ];
35
36 dependencies = [
37 jinja2
38 packaging
39 pyparsing
40 pyyaml
41 requests
42 ];
43
44 nativeCheckInputs = [ pytestCheckHook ];
45
46 disabledTests = [
47 # Tests require network connection
48 "test_sigma_plugin_directory_default"
49 "test_sigma_plugin_installation"
50 ];
51
52 pythonImportsCheck = [ "sigma" ];
53
54 meta = with lib; {
55 description = "Library to parse and convert Sigma rules into queries";
56 homepage = "https://github.com/SigmaHQ/pySigma";
57 changelog = "https://github.com/SigmaHQ/pySigma/releases/tag/v${version}";
58 license = with licenses; [ lgpl21Only ];
59 maintainers = with maintainers; [ fab ];
60 };
61}