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