1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 hatchling, 6 textual, 7 universal-pathlib, 8 adlfs, 9 aiohttp, 10 gcsfs, 11 paramiko, 12 requests, 13 s3fs, 14 pythonOlder, 15}: 16 17buildPythonPackage rec { 18 pname = "textual-universal-directorytree"; 19 version = "1.7.0"; 20 pyproject = true; 21 22 disabled = pythonOlder "3.9"; 23 24 src = fetchFromGitHub { 25 owner = "juftin"; 26 repo = "textual-universal-directorytree"; 27 tag = "v${version}"; 28 hash = "sha256-e9i6P+KQnGbFwCsNiu2eLJFg3fpcR2/vl/FVWOBqWUQ="; 29 }; 30 31 nativeBuildInputs = [ hatchling ]; 32 33 propagatedBuildInputs = [ 34 textual 35 universal-pathlib 36 ]; 37 38 optional-dependencies = { 39 remote = [ 40 adlfs 41 aiohttp 42 gcsfs 43 paramiko 44 requests 45 s3fs 46 ]; 47 }; 48 49 pythonImportsCheck = [ "textual_universal_directorytree" ]; 50 51 meta = with lib; { 52 description = "Textual plugin for a DirectoryTree compatible with remote filesystems"; 53 homepage = "https://github.com/juftin/textual-universal-directorytree"; 54 changelog = "https://github.com/juftin/textual-universal-directorytree/releases/tag/v${version}"; 55 license = licenses.mit; 56 maintainers = with maintainers; [ figsoda ]; 57 }; 58}