1{ lib
2, fetchPypi
3, buildPythonPackage
4, blessed
5, browser-cookie3
6, keyring
7, keyrings-alt
8, lxml
9, measurement
10, python-dateutil
11, requests
12, rich
13, typing-extensions
14, pytestCheckHook
15, mock
16, nose
17, pythonOlder
18}:
19
20buildPythonPackage rec {
21 pname = "myfitnesspal";
22 version = "2.0.1";
23 format = "setuptools";
24
25 disabled = pythonOlder "3.7";
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-wlQ/mo9MBQo0t1p0h6/TJir3I87DKYAUc022T3hZjH8=";
30 };
31
32 propagatedBuildInputs = [
33 blessed
34 browser-cookie3
35 keyring
36 keyrings-alt
37 lxml
38 measurement
39 python-dateutil
40 requests
41 rich
42 typing-extensions
43 ];
44
45 nativeCheckInputs = [
46 mock
47 nose
48 pytestCheckHook
49 ];
50
51 postPatch = ''
52 # Remove overly restrictive version constraints
53 sed -i -e "s/>=.*//" requirements.txt
54 '';
55
56 disabledTests = [
57 # Integration tests require an account to be set
58 "test_integration"
59 ];
60
61 pythonImportsCheck = [
62 "myfitnesspal"
63 ];
64
65 meta = with lib; {
66 description = "Python module to access meal tracking data stored in MyFitnessPal";
67 homepage = "https://github.com/coddingtonbear/python-myfitnesspal";
68 license = licenses.mit;
69 maintainers = with maintainers; [ bhipple ];
70 };
71}