1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 plumbum,
6 requests,
7 setuptools,
8 hypothesis,
9 pytestCheckHook,
10 responses,
11}:
12
13buildPythonPackage rec {
14 pname = "habitipy";
15 version = "0.3.1";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "ASMfreaK";
20 repo = "habitipy";
21 # TODO: https://github.com/ASMfreaK/habitipy/issues/27
22 rev = "faaca8840575fe8b807bf17acea6266d5ce92a99";
23 hash = "sha256-BGFUAntSNH0YYWn9nfKjIlpevF7MFs0csCPSp6IT6Ro=";
24 };
25
26 build-system = [ setuptools ];
27
28 dependencies = [
29 plumbum
30 requests
31 setuptools
32 ];
33
34 nativeCheckInputs = [
35 hypothesis
36 pytestCheckHook
37 responses
38 ];
39
40 preCheck = ''
41 export HOME=$TMPDIR
42 '';
43
44 disabledTests = [
45 # network access
46 "test_content_cache"
47 # hypothesis.errors.InvalidArgument: tests/test_cli.py::test_data is a function that returns a Hypothesis strategy, but pytest has collected it as a test function.
48 "test_data"
49 ];
50
51 pythonImportsCheck = [ "habitipy" ];
52
53 meta = with lib; {
54 description = "Tools and library for Habitica restful API";
55 mainProgram = "habitipy";
56 homepage = "https://github.com/ASMfreaK/habitipy";
57 license = licenses.mit;
58 maintainers = with maintainers; [ dotlambda ];
59 };
60}