1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 pytestCheckHook,
7 dacite,
8 htmlmin,
9 imagehash,
10 jinja2,
11 matplotlib,
12 multimethod,
13 numba,
14 numpy,
15 pandas,
16 phik,
17 pyarrow,
18 pydantic,
19 pyyaml,
20 requests,
21 scipy,
22 setuptools,
23 setuptools-scm,
24 seaborn,
25 statsmodels,
26 tqdm,
27 typeguard,
28 visions,
29 wordcloud,
30}:
31
32buildPythonPackage rec {
33 pname = "ydata-profiling";
34 version = "4.16.1";
35 pyproject = true;
36
37 disabled = pythonOlder "3.7";
38
39 src = fetchFromGitHub {
40 owner = "ydataai";
41 repo = "ydata-profiling";
42 tag = "v${version}";
43 hash = "sha256-gmMEW1aAwBar/xR22Wm98hbjP20ty3idvxfqCJ1uRGM=";
44 };
45
46 preBuild = ''
47 echo ${version} > VERSION
48 '';
49
50 build-system = [
51 setuptools
52 setuptools-scm
53 ];
54
55 pythonRelaxDeps = [
56 "imagehash"
57 "matplotlib"
58 "multimethod"
59 "numpy"
60 ];
61
62 dependencies = [
63 dacite
64 htmlmin
65 imagehash
66 jinja2
67 matplotlib
68 multimethod
69 numba
70 numpy
71 pandas
72 phik
73 pydantic
74 pyyaml
75 requests
76 scipy
77 seaborn
78 setuptools
79 statsmodels
80 tqdm
81 typeguard
82 visions
83 wordcloud
84 ];
85
86 nativeCheckInputs = [
87 pyarrow
88 pytestCheckHook
89 ];
90
91 disabledTestPaths = [
92 # needs Spark:
93 "tests/backends/spark_backend"
94 # try to download data:
95 "tests/issues"
96 "tests/unit/test_console.py"
97 "tests/unit/test_dataset_schema.py"
98 "tests/unit/test_modular.py"
99 ];
100
101 disabledTests = [
102 # try to download data:
103 "test_decorator"
104 "test_example"
105 "test_load"
106 "test_urls"
107 ];
108
109 pythonImportsCheck = [ "ydata_profiling" ];
110
111 meta = {
112 description = "Create HTML profiling reports from Pandas DataFrames";
113 homepage = "https://ydata-profiling.ydata.ai";
114 changelog = "https://github.com/ydataai/ydata-profiling/releases/tag/v${version}";
115 license = lib.licenses.mit;
116 maintainers = with lib.maintainers; [ bcdarwin ];
117 mainProgram = "ydata_profiling";
118 };
119}