1{ lib
2, buildPythonPackage
3, elasticsearch
4, fetchFromGitHub
5, lz4
6, msgpack
7, pytestCheckHook
8, pythonOlder
9, setuptools
10, setuptools-scm
11, zstandard
12}:
13
14buildPythonPackage rec {
15 pname = "flow-record";
16 version = "3.5";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "fox-it";
23 repo = "flow.record";
24 rev = version;
25 hash = "sha256-hULz5pIqCKujVH3SpzFgzNM9R7WTtqAmuNOxG7VlUd0=";
26 };
27
28 SETUPTOOLS_SCM_PRETEND_VERSION = version;
29
30 nativeBuildInputs = [
31 setuptools
32 setuptools-scm
33 ];
34
35 propagatedBuildInputs = [
36 msgpack
37 ];
38
39 passthru.optional-dependencies = {
40 compression = [
41 lz4
42 zstandard
43 ];
44 elastic = [
45 elasticsearch
46 ];
47 };
48
49 checkInputs = [
50 pytestCheckHook
51 ];
52
53 pythonImportsCheck = [
54 "flow.record"
55 ];
56
57 disabledTestPaths = [
58 # Test requires rdump
59 "tests/test_rdump.py"
60 ];
61
62 meta = with lib; {
63 description = "Library for defining and creating structured data";
64 homepage = "https://github.com/fox-it/flow.record";
65 license = licenses.agpl3Only;
66 maintainers = with maintainers; [ fab ];
67 };
68}