1{
2 lib,
3 fetchPypi,
4 buildPythonPackage,
5 fetchpatch,
6 networkx,
7 pandas,
8 scipy,
9 numpy,
10}:
11
12buildPythonPackage rec {
13 pname = "python-louvain";
14 version = "0.16";
15 format = "setuptools";
16
17 src = fetchPypi {
18 inherit pname version;
19 hash = "sha256-t7ot9QAv0o0+54mklTK6rRH+ZI5PIRfPB5jnUgodpWs=";
20 };
21
22 patches = [
23 # Fix test_karate
24 (fetchpatch {
25 name = "fix-karate-test-networkx-2.7.patch";
26 url = "https://github.com/taynaud/python-louvain/pull/95/commits/c95d767e72f580cb15319fe08d72d87c9976640b.patch";
27 hash = "sha256-9oJ9YvKl2sI8oGhfyauNS+HT4kXsDt0L8S2owluWdj0=";
28 })
29 ];
30
31 propagatedBuildInputs = [
32 networkx
33 numpy
34 ];
35
36 pythonImportsCheck = [ "community" ];
37
38 nativeCheckInputs = [
39 pandas
40 scipy
41 ];
42
43 meta = with lib; {
44 homepage = "https://github.com/taynaud/python-louvain";
45 description = "Louvain Community Detection";
46 mainProgram = "community";
47 license = licenses.bsd3;
48 maintainers = [ ];
49 };
50}