2022-11-25 22:50:29 +00:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
buildPythonPackage,
|
|
|
|
fetchFromGitHub,
|
|
|
|
pythonOlder,
|
|
|
|
poetry-core,
|
|
|
|
aw-core,
|
|
|
|
requests,
|
|
|
|
persist-queue,
|
|
|
|
click,
|
|
|
|
tabulate,
|
|
|
|
typing-extensions,
|
|
|
|
pytestCheckHook,
|
2023-06-08 23:20:08 +00:00
|
|
|
gitUpdater,
|
2022-11-25 22:50:29 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
buildPythonPackage rec {
|
|
|
|
pname = "aw-client";
|
2024-10-28 19:08:43 +00:00
|
|
|
version = "0.5.14";
|
2022-11-25 22:50:29 +00:00
|
|
|
|
|
|
|
format = "pyproject";
|
|
|
|
|
|
|
|
# pypi distribution doesn't include tests, so build from source instead
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "ActivityWatch";
|
|
|
|
repo = "aw-client";
|
|
|
|
rev = "v${version}";
|
2024-10-28 19:08:43 +00:00
|
|
|
sha256 = "sha256-HTyhQz/RaNdCtJIV6YHEd6Yhu9VRJ8E9XdN7NcoO8ao=";
|
2022-11-25 22:50:29 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
disabled = pythonOlder "3.8";
|
|
|
|
|
|
|
|
nativeBuildInputs = [ poetry-core ];
|
|
|
|
|
|
|
|
propagatedBuildInputs = [
|
|
|
|
aw-core
|
|
|
|
requests
|
|
|
|
persist-queue
|
|
|
|
click
|
|
|
|
tabulate
|
|
|
|
typing-extensions
|
|
|
|
];
|
|
|
|
|
|
|
|
nativeCheckInputs = [ pytestCheckHook ];
|
|
|
|
|
|
|
|
# Only run this test, the others are integration tests that require
|
|
|
|
# an instance of aw-server running in order to function.
|
|
|
|
pytestFlagsArray = [ "tests/test_requestqueue.py" ];
|
|
|
|
|
|
|
|
preCheck = ''
|
|
|
|
# Fake home folder for tests that write to $HOME
|
|
|
|
export HOME="$TMPDIR"
|
|
|
|
'';
|
|
|
|
|
|
|
|
pythonImportsCheck = [ "aw_client" ];
|
|
|
|
|
2023-06-08 23:20:08 +00:00
|
|
|
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
|
|
|
|
|
2022-11-25 22:50:29 +00:00
|
|
|
meta = with lib; {
|
|
|
|
description = "Client library for ActivityWatch";
|
2024-03-19 02:14:51 +00:00
|
|
|
mainProgram = "aw-client";
|
2022-11-25 22:50:29 +00:00
|
|
|
homepage = "https://github.com/ActivityWatch/aw-client";
|
|
|
|
maintainers = with maintainers; [ huantian ];
|
|
|
|
license = licenses.mpl20;
|
|
|
|
};
|
|
|
|
}
|