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