1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 kitchen,
6 packaging,
7 poetry-core,
8 poetry-dynamic-versioning,
9 python-dateutil,
10 pythonOlder,
11 pytz,
12 taskwarrior2,
13}:
14
15buildPythonPackage rec {
16 pname = "taskw-ng";
17 version = "0.2.7";
18 pyproject = true;
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "bergercookie";
24 repo = "taskw-ng";
25 tag = "v${version}";
26 hash = "sha256-KxXLSDvUclQlNbMR+Zzl6tgBrH2QxqjLVoyBK3OiKVU=";
27 };
28
29 pythonRelaxDeps = [
30 "packaging"
31 "pytz"
32 ];
33
34 build-system = [
35 poetry-core
36 poetry-dynamic-versioning
37 ];
38
39 propagatedBuildInputs = [
40 kitchen
41 packaging
42 python-dateutil
43 pytz
44 ];
45
46 checkInputs = [ taskwarrior2 ];
47
48 # TODO: doesn't pass because `can_use` fails and `task --version` seems not to be answering.
49 # pythonImportsCheck = [ "taskw_ng" ];
50
51 meta = with lib; {
52 description = "Module to interact with the Taskwarrior API";
53 homepage = "https://github.com/bergercookie/taskw-ng";
54 changelog = "https://github.com/bergercookie/taskw-ng/blob/${src.rev}/CHANGELOG.rst";
55 license = licenses.gpl3Plus;
56 maintainers = with maintainers; [ raitobezarius ];
57 };
58}