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