1{
2 lib,
3 buildPythonPackage,
4 cython,
5 fetchPypi,
6 matplotlib,
7 numpy,
8 pillow,
9 pytestCheckHook,
10 pythonOlder,
11 setuptools,
12 setuptools-scm,
13}:
14
15buildPythonPackage rec {
16 pname = "wordcloud";
17 version = "1.9.3";
18
19 pyproject = true;
20
21 build-system = [
22 setuptools
23 setuptools-scm
24 ];
25
26 disabled = pythonOlder "3.7";
27
28 src = fetchPypi {
29 inherit pname version;
30 hash = "sha256-qapzjWPtZ0pA8Mwxrbg/TKX8GV8Dpq/24BDR9YB9HFg=";
31 };
32
33 postPatch = ''
34 substituteInPlace setup.cfg \
35 --replace " --cov --cov-report xml --tb=short" ""
36 '';
37
38 nativeBuildInputs = [ cython ];
39
40 dependencies = [
41 matplotlib
42 numpy
43 pillow
44 ];
45
46 nativeCheckInputs = [ pytestCheckHook ];
47
48 preCheck = ''
49 cd test
50 '';
51
52 pythonImportsCheck = [ "wordcloud" ];
53
54 disabledTests = [
55 # Don't tests CLI
56 "test_cli_as_executable"
57 # OSError: invalid ppem value
58 "test_recolor_too_small"
59 "test_coloring_black_works"
60 ];
61
62 meta = with lib; {
63 description = "Word cloud generator in Python";
64 mainProgram = "wordcloud_cli";
65 homepage = "https://github.com/amueller/word_cloud";
66 changelog = "https://github.com/amueller/word_cloud/releases/tag/${version}";
67 license = licenses.mit;
68 maintainers = with maintainers; [ jm2dev ];
69 };
70}