1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, niapy
5, nltk
6, numpy
7, pandas
8, poetry-core
9, pytestCheckHook
10, pythonOlder
11, tomli
12}:
13
14buildPythonPackage rec {
15 pname = "niaarm";
16 version = "0.3.5";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.9";
20
21 src = fetchFromGitHub {
22 owner = "firefly-cpp";
23 repo = "NiaARM";
24 rev = "refs/tags/${version}";
25 hash = "sha256-E5G1uVDSErqwxTBNQ7qselemW9A3W8sr3ExPEh+1les=";
26 };
27
28 nativeBuildInputs = [
29 poetry-core
30 ];
31
32 propagatedBuildInputs = [
33 niapy
34 nltk
35 numpy
36 pandas
37 ] ++ lib.optionals (pythonOlder "3.11") [
38 tomli
39 ];
40
41 disabledTests = [
42 # Test requires extra nltk data dependency
43 "test_text_mining"
44 ];
45
46 nativeCheckInputs = [
47 pytestCheckHook
48 ];
49
50 pythonImportsCheck = [
51 "niaarm"
52 ];
53
54 meta = with lib; {
55 description = "A minimalistic framework for Numerical Association Rule Mining";
56 homepage = "https://github.com/firefly-cpp/NiaARM";
57 changelog = "https://github.com/firefly-cpp/NiaARM/blob/${version}/CHANGELOG.md";
58 license = licenses.mit;
59 maintainers = with maintainers; [ firefly-cpp ];
60 };
61}