otadump: init at 0.1.2 (#329129)
[NixPkgs.git] / pkgs / development / python-modules / flow-record / default.nix
blobf15dce25869e73b2c31baadeec57766919332aeb
2   lib,
3   buildPythonPackage,
4   duckdb,
5   elastic-transport,
6   elasticsearch,
7   fastavro,
8   fetchFromGitHub,
9   httpx,
10   lz4,
11   maxminddb,
12   msgpack,
13   pytest7CheckHook,
14   pythonOlder,
15   pytz,
16   setuptools-scm,
17   setuptools,
18   zstandard,
21 buildPythonPackage rec {
22   pname = "flow-record";
23   version = "3.18";
24   pyproject = true;
26   disabled = pythonOlder "3.9";
28   src = fetchFromGitHub {
29     owner = "fox-it";
30     repo = "flow.record";
31     rev = "refs/tags/${version}";
32     hash = "sha256-tEKmwDZOoGIXfJqxIat6WTbEv4EkiwkJGMpNxfv2Zd0=";
33   };
35   build-system = [
36     setuptools
37     setuptools-scm
38   ];
40   dependencies = [ msgpack ];
42   optional-dependencies = {
43     compression = [
44       lz4
45       zstandard
46     ];
47     duckdb = [
48       duckdb
49       pytz
50     ];
51     elastic = [ elasticsearch ];
52     geoip = [ maxminddb ];
53     avro = [ fastavro ] ++ fastavro.optional-dependencies.snappy;
54     splunk = [ httpx ];
55   };
57   nativeCheckInputs = [
58     elastic-transport
59     pytest7CheckHook
60   ] ++ lib.flatten (builtins.attrValues optional-dependencies);
62   pythonImportsCheck = [ "flow.record" ];
64   disabledTestPaths = [
65     # Test requires rdump
66     "tests/test_rdump.py"
67   ];
69   disabledTests = [ "test_rdump_fieldtype_path_json" ];
71   meta = with lib; {
72     description = "Library for defining and creating structured data";
73     homepage = "https://github.com/fox-it/flow.record";
74     changelog = "https://github.com/fox-it/flow.record/releases/tag/${version}";
75     license = licenses.agpl3Only;
76     maintainers = with maintainers; [ fab ];
77   };