nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytestCheckHook,
6 dacite,
7 filetype,
8 imagehash,
9 jinja2,
10 matplotlib,
11 minify-html,
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.18.1";
35 pyproject = true;
36
37 src = fetchFromGitHub {
38 owner = "ydataai";
39 repo = "ydata-profiling";
40 tag = "v${version}";
41 hash = "sha256-CNeHsOpFkKvcCWGEholabcsqXJzINUUxFZ7I5bPBoYM=";
42 };
43
44 postPatch = ''
45 substituteInPlace pyproject.toml \
46 --replace-fail "setuptools>=72.0.0,<80.0.0" "setuptools" \
47 --replace-fail "setuptools-scm>=8.0.0,<9.0.0" "setuptools-scm"
48 '';
49
50 preBuild = ''
51 echo ${version} > VERSION
52 '';
53
54 build-system = [
55 setuptools
56 setuptools-scm
57 ];
58
59 pythonRelaxDeps = [
60 "imagehash"
61 "matplotlib"
62 "multimethod"
63 "numba"
64 "numpy"
65 "scipy"
66 ];
67
68 dependencies = [
69 dacite
70 filetype
71 imagehash
72 jinja2
73 matplotlib
74 minify-html
75 multimethod
76 numba
77 numpy
78 pandas
79 phik
80 pydantic
81 pyyaml
82 requests
83 scipy
84 seaborn
85 setuptools
86 statsmodels
87 tqdm
88 typeguard
89 visions
90 wordcloud
91 ];
92
93 nativeCheckInputs = [
94 pyarrow
95 pytestCheckHook
96 ];
97
98 disabledTestPaths = [
99 # needs Spark:
100 "tests/backends/spark_backend"
101
102 # try to download data:
103 "tests/issues"
104 "tests/unit/test_console.py"
105 "tests/unit/test_dataset_schema.py"
106 "tests/unit/test_modular.py"
107 ];
108
109 disabledTests = [
110 # try to download data:
111 "test_decorator"
112 "test_example"
113 "test_load"
114 "test_urls"
115 ];
116
117 pythonImportsCheck = [ "ydata_profiling" ];
118
119 meta = {
120 description = "Create HTML profiling reports from Pandas DataFrames";
121 homepage = "https://ydata-profiling.ydata.ai";
122 changelog = "https://github.com/ydataai/ydata-profiling/releases/tag/${src.tag}";
123 license = lib.licenses.mit;
124 maintainers = with lib.maintainers; [ bcdarwin ];
125 mainProgram = "ydata_profiling";
126 };
127}