at master 1.4 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 hatchling, 6 mkdocs-material, 7 mkdocs-mermaid2-plugin, 8 mkdocstrings, 9 networkx, 10 pytestCheckHook, 11 pythonOlder, 12 requests, 13 typing-extensions, 14}: 15 16buildPythonPackage rec { 17 pname = "canals"; 18 version = "0.11.0"; 19 pyproject = true; 20 21 disabled = pythonOlder "3.8"; 22 23 src = fetchFromGitHub { 24 owner = "deepset-ai"; 25 repo = "canals"; 26 tag = "v${version}"; 27 hash = "sha256-xoJqj/zPBPPCheBxA+8EFRJqUnlP+4aWLEh42q1X1mM="; 28 }; 29 30 nativeBuildInputs = [ hatchling ]; 31 32 propagatedBuildInputs = [ 33 networkx 34 requests 35 typing-extensions 36 ]; 37 38 optional-dependencies = { 39 docs = [ 40 mkdocs-material 41 mkdocs-mermaid2-plugin 42 mkdocstrings 43 ]; 44 }; 45 46 nativeCheckInputs = [ 47 pytestCheckHook 48 ] 49 ++ lib.flatten (builtins.attrValues optional-dependencies); 50 51 disabledTestPaths = [ 52 # Test requires internet connection to mermaid.ink 53 "test/pipeline/integration" 54 ]; 55 56 disabledTests = [ 57 # Path issue 58 "test_draw_pygraphviz" 59 ]; 60 61 pythonImportsCheck = [ "canals" ]; 62 63 meta = with lib; { 64 description = "Component orchestration engine"; 65 homepage = "https://github.com/deepset-ai/canals"; 66 changelog = "https://github.com/deepset-ai/canals/releases/tag/v${version}"; 67 license = licenses.asl20; 68 maintainers = with maintainers; [ happysalada ]; 69 }; 70}