diff --git a/pkgs/development/python-modules/fitbit-web-api/default.nix b/pkgs/development/python-modules/fitbit-web-api/default.nix new file mode 100644 index 000000000000..7bfb4f5e8749 --- /dev/null +++ b/pkgs/development/python-modules/fitbit-web-api/default.nix @@ -0,0 +1,53 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + aiohttp, + aiohttp-retry, + pydantic, + pytest-aiohttp, + pytestCheckHook, + python-dateutil, + typing-extensions, + urllib3, +}: + +buildPythonPackage rec { + pname = "fitbit-web-api"; + version = "2.13.5"; + pyproject = true; + + src = fetchFromGitHub { + owner = "allenporter"; + repo = "fitbit-web-api"; + tag = "v${version}"; + hash = "sha256-HqlySvC6EGnetrh0t8shapS/ggSRVoI8xPXta2eBqlk="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + aiohttp + aiohttp-retry + pydantic + python-dateutil + typing-extensions + urllib3 + ]; + + pythonImportsCheck = [ "fitbit_web_api" ]; + + nativeCheckInputs = [ + pytest-aiohttp + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/allenporter/fitbit-web-api/blob/${src.tag}/CHANGELOG.md"; + description = "Access data from Fitbit activity trackers, Aria scale, and manually entered logs"; + homepage = "https://github.com/allenporter/fitbit-web-api"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fc35832f36f3..b8e2969cd1a1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5450,6 +5450,8 @@ self: super: with self; { fitbit = callPackage ../development/python-modules/fitbit { }; + fitbit-web-api = callPackage ../development/python-modules/fitbit-web-api { }; + fitdecode = callPackage ../development/python-modules/fitdecode { }; fitfile = callPackage ../development/python-modules/fitfile { };