diff --git a/pkgs/development/python-modules/visions/default.nix b/pkgs/development/python-modules/visions/default.nix new file mode 100644 index 000000000000..6d3da09118f9 --- /dev/null +++ b/pkgs/development/python-modules/visions/default.nix @@ -0,0 +1,70 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, pytestCheckHook +, setuptools +, attrs +, imagehash +, matplotlib +, multimethod +, networkx +, numpy +, pandas +, pillow +, pydot +, pygraphviz +, shapely +}: + +buildPythonPackage rec { + pname = "visions"; + version = "0.7.6"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "dylan-profiler"; + repo = "visions"; + rev = "5fe9dd0c2a5ada0162a005c880bac5296686a5aa"; # no 0.7.6 tag in github + hash = "sha256-SZzDXm+faAvrfSOT0fwwAf9IH7upNybwKxbjw1CrHj8="; + }; + + nativeBuildInputs = [ setuptools ]; + + propagatedBuildInputs = [ + attrs + imagehash + multimethod + networkx + numpy + pandas + ]; + + passthru.optional-dependencies = { + type-geometry = [ shapely ]; + type-image-path = [ imagehash pillow ]; + plotting = [ matplotlib pydot pygraphviz ]; + }; + + nativeCheckInputs = [ + pytestCheckHook + ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); + + disabledTestPaths = [ + # requires running Apache Spark: + "tests/spark_/typesets/test_spark_standard_set.py" + ]; + + pythonImportsCheck = [ + "visions" + ]; + + meta = with lib; { + description = "Type system for data analysis in Python"; + homepage = "https://dylan-profiler.github.io/visions"; + license = licenses.bsdOriginal; + maintainers = with maintainers; [ bcdarwin ]; + }; +} diff --git a/pkgs/development/python-modules/ydata-profiling/default.nix b/pkgs/development/python-modules/ydata-profiling/default.nix new file mode 100644 index 000000000000..8ad3ac196714 --- /dev/null +++ b/pkgs/development/python-modules/ydata-profiling/default.nix @@ -0,0 +1,103 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, pytestCheckHook +, dacite +, htmlmin +, imagehash +, jinja2 +, matplotlib +, multimethod +, numba +, numpy +, pandas +, phik +, pyarrow +, pydantic +, pyyaml +, requests +, scipy +, seaborn +, statsmodels +, tqdm +, typeguard +, visions +, wordcloud +}: + +buildPythonPackage rec { + pname = "ydata-profiling"; + version = "4.8.3"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "ydataai"; + repo = pname; + rev = "refs/tags/${version}"; + hash = "sha256-tMwhoVnn65EvZK5NBvh/G36W8tH7I9qaL+NTK3IZVdI="; + }; + + preBuild = '' + echo ${version} > VERSION + ''; + + propagatedBuildInputs = [ + dacite + htmlmin + imagehash + jinja2 + matplotlib + multimethod + numba + numpy + pandas + phik + pydantic + pyyaml + requests + scipy + seaborn + statsmodels + tqdm + typeguard + visions + wordcloud + ]; + + nativeCheckInputs = [ + pytestCheckHook + pyarrow + ]; + disabledTestPaths = [ + # needs Spark: + "tests/backends/spark_backend" + # try to download data: + "tests/issues" + "tests/unit/test_console.py" + "tests/unit/test_dataset_schema.py" + "tests/unit/test_modular.py" + ]; + disabledTests = [ + # try to download data: + "test_decorator" + "test_example" + "test_load" + "test_urls" + ]; + + pythonImportsCheck = [ + "ydata_profiling" + ]; + + meta = with lib; { + description = "Create HTML profiling reports from Pandas DataFrames"; + homepage = "https://ydata-profiling.ydata.ai"; + changelog = "https://github.com/ydataai/ydata-profiling/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ bcdarwin ]; + mainProgram = "ydata_profiling"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1644b92902ff..b35ee7c5c089 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16688,6 +16688,8 @@ self: super: with self; { virtualenvwrapper = callPackage ../development/python-modules/virtualenvwrapper { }; + visions = callPackage ../development/python-modules/visions { }; + visitor = callPackage ../development/python-modules/visitor { }; vispy = callPackage ../development/python-modules/vispy { }; @@ -17215,6 +17217,8 @@ self: super: with self; { yacs = callPackage ../development/python-modules/yacs { }; + ydata-profiling = callPackage ../development/python-modules/ydata-profiling { }; + ydiff = callPackage ../development/python-modules/ydiff { }; yeelight = callPackage ../development/python-modules/yeelight { };