1{ lib
2, buildPythonPackage
3, cloudscraper
4, fetchFromGitHub
5, garth
6, pdm-backend
7, pythonOlder
8, requests
9}:
10
11buildPythonPackage rec {
12 pname = "garminconnect";
13 version = "0.2.6";
14 format = "pyproject";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = "cyberjunky";
20 repo = "python-garminconnect";
21 rev = "refs/tags/${version}";
22 hash = "sha256-e/6fq9PkrfX2dz+QfgyKft6difkXfoj40WWiyK6h0n4=";
23 };
24
25 nativeBuildInputs = [
26 pdm-backend
27 ];
28
29 propagatedBuildInputs = [
30 cloudscraper
31 garth
32 requests
33 ];
34
35 # Tests require a token
36 doCheck = false;
37
38 pythonImportsCheck = [
39 "garminconnect"
40 ];
41
42 meta = with lib; {
43 description = "Garmin Connect Python API wrapper";
44 homepage = "https://github.com/cyberjunky/python-garminconnect";
45 changelog = "https://github.com/cyberjunky/python-garminconnect/releases/tag/${version}";
46 license = licenses.mit;
47 maintainers = with maintainers; [ fab ];
48 };
49}