at 23.11-beta 1.4 kB view raw
1{ lib 2, buildPythonPackage 3, fetchFromGitHub 4, hatchling 5, mkdocs-material 6, mkdocs-mermaid2-plugin 7, mkdocstrings 8, networkx 9, pytestCheckHook 10, pythonOlder 11, requests 12, typing-extensions 13}: 14 15buildPythonPackage rec { 16 pname = "canals"; 17 version = "0.10.0"; 18 pyproject = true; 19 20 disabled = pythonOlder "3.8"; 21 22 src = fetchFromGitHub { 23 owner = "deepset-ai"; 24 repo = "canals"; 25 rev = "refs/tags/v${version}"; 26 hash = "sha256-zTC9zaY2WQ4Sx/1YeEaw23UH0hoP/ktMwzH8x/rER00="; 27 }; 28 29 nativeBuildInputs = [ 30 hatchling 31 ]; 32 33 propagatedBuildInputs = [ 34 networkx 35 requests 36 typing-extensions 37 ]; 38 39 passthru.optional-dependencies = { 40 docs = [ 41 mkdocs-material 42 mkdocs-mermaid2-plugin 43 mkdocstrings 44 ]; 45 }; 46 47 nativeCheckInputs = [ 48 pytestCheckHook 49 ] ++ lib.flatten (builtins.attrValues passthru.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 = [ 62 "canals" 63 ]; 64 65 meta = with lib; { 66 description = "A component orchestration engine"; 67 homepage = "https://github.com/deepset-ai/canals"; 68 changelog = "https://github.com/deepset-ai/canals/releases/tag/v${version}"; 69 license = licenses.asl20; 70 maintainers = with maintainers; [ happysalada ]; 71 }; 72}