1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, garth
5, pdm-backend
6, pythonOlder
7, requests
8, withings-sync
9}:
10
11buildPythonPackage rec {
12 pname = "garminconnect";
13 version = "0.2.9";
14 format = "pyproject";
15
16 disabled = pythonOlder "3.10";
17
18 src = fetchFromGitHub {
19 owner = "cyberjunky";
20 repo = "python-garminconnect";
21 rev = "refs/tags/${version}";
22 hash = "sha256-wQWOksI0nfzIMdxgZehMmNytuXWD22GLUNoI7Ki0C3s=";
23 };
24
25 nativeBuildInputs = [
26 pdm-backend
27 ];
28
29 propagatedBuildInputs = [
30 garth
31 requests
32 withings-sync
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}