{ lib, buildPythonPackage, fetchFromGitHub, hatchling, mkdocs-material, mkdocs-mermaid2-plugin, mkdocstrings, networkx, pytestCheckHook, requests, typing-extensions, }: buildPythonPackage rec { pname = "canals"; version = "0.11.0"; pyproject = true; src = fetchFromGitHub { owner = "deepset-ai"; repo = "canals"; tag = "v${version}"; hash = "sha256-xoJqj/zPBPPCheBxA+8EFRJqUnlP+4aWLEh42q1X1mM="; }; nativeBuildInputs = [ hatchling ]; propagatedBuildInputs = [ networkx requests typing-extensions ]; optional-dependencies = { docs = [ mkdocs-material mkdocs-mermaid2-plugin mkdocstrings ]; }; nativeCheckInputs = [ pytestCheckHook ] ++ lib.concatAttrValues optional-dependencies; disabledTestPaths = [ # Test requires internet connection to mermaid.ink "test/pipeline/integration" ]; disabledTests = [ # Path issue "test_draw_pygraphviz" ]; pythonImportsCheck = [ "canals" ]; meta = { description = "Component orchestration engine"; homepage = "https://github.com/deepset-ai/canals"; changelog = "https://github.com/deepset-ai/canals/releases/tag/v${version}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ happysalada ]; }; }