1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, coverage
5, python-dateutil
6, freezegun
7, mock
8, requests-mock
9, requests_oauthlib
10, sphinx
11}:
12
13buildPythonPackage rec {
14 pname = "fitbit";
15 version = "0.3.1";
16
17 checkInputs = [ coverage freezegun mock requests-mock sphinx ];
18 propagatedBuildInputs = [ python-dateutil requests_oauthlib ];
19
20 # The source package on PyPi is missing files required for unit testing.
21 # https://github.com/orcasgit/python-fitbit/issues/148
22 src = fetchFromGitHub {
23 rev = version;
24 owner = "orcasgit";
25 repo = "python-fitbit";
26 sha256 = "1w2lpgf6bs5nbnmslppaf4lbhr9cj6grg0a525xv41jip7iy3vfn";
27 };
28
29 postPatch = ''
30 substituteInPlace requirements/test.txt \
31 --replace 'Sphinx>=1.2,<1.4' 'Sphinx' \
32 --replace 'coverage>=3.7,<4.0' 'coverage'
33 '';
34
35 meta = with lib; {
36 description = "Fitbit API Python Client Implementation";
37 license = licenses.asl20;
38 homepage = "https://github.com/orcasgit/python-fitbit";
39 maintainers = with maintainers; [ delroth ];
40 };
41}