Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, buildPythonPackage 3, fetchFromGitHub 4, pythonOlder 5, pytestCheckHook 6, setuptools 7, attrs 8, imagehash 9, matplotlib 10, multimethod 11, networkx 12, numpy 13, pandas 14, pillow 15, pydot 16, pygraphviz 17, shapely 18}: 19 20buildPythonPackage rec { 21 pname = "visions"; 22 version = "0.7.6"; 23 pyproject = true; 24 25 disabled = pythonOlder "3.8"; 26 27 src = fetchFromGitHub { 28 owner = "dylan-profiler"; 29 repo = "visions"; 30 rev = "5fe9dd0c2a5ada0162a005c880bac5296686a5aa"; # no 0.7.6 tag in github 31 hash = "sha256-SZzDXm+faAvrfSOT0fwwAf9IH7upNybwKxbjw1CrHj8="; 32 }; 33 34 nativeBuildInputs = [ setuptools ]; 35 36 propagatedBuildInputs = [ 37 attrs 38 imagehash 39 multimethod 40 networkx 41 numpy 42 pandas 43 ]; 44 45 passthru.optional-dependencies = { 46 type-geometry = [ shapely ]; 47 type-image-path = [ imagehash pillow ]; 48 plotting = [ matplotlib pydot pygraphviz ]; 49 }; 50 51 nativeCheckInputs = [ 52 pytestCheckHook 53 ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); 54 55 disabledTestPaths = [ 56 # requires running Apache Spark: 57 "tests/spark_/typesets/test_spark_standard_set.py" 58 ]; 59 60 pythonImportsCheck = [ 61 "visions" 62 ]; 63 64 meta = with lib; { 65 description = "Type system for data analysis in Python"; 66 homepage = "https://dylan-profiler.github.io/visions"; 67 license = licenses.bsdOriginal; 68 maintainers = with maintainers; [ bcdarwin ]; 69 }; 70}