diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4ecf6683b226..5570d588f74a 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10854,6 +10854,12 @@ githubId = 6445082; name = "Joseph Lukasik"; }; + jhahn = { + email = "mail.jhahn@gmail.com"; + github = "jrhahn"; + githubId = 56772267; + name = "Jürgen Hahn"; + }; jhh = { email = "jeff@j3ff.io"; github = "jhh"; diff --git a/pkgs/development/python-modules/firebase-admin/default.nix b/pkgs/development/python-modules/firebase-admin/default.nix new file mode 100644 index 000000000000..f1dfe416bed5 --- /dev/null +++ b/pkgs/development/python-modules/firebase-admin/default.nix @@ -0,0 +1,66 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + setuptools, + hatchling, + cachecontrol, + cryptography, + google-api-python-client, + google-cloud-firestore, + google-cloud-storage, + pyjwt, + requests, + pytestCheckHook, + pytest-localserver, + pytest-mock, +}: + +buildPythonPackage rec { + pname = "firebase-admin"; + version = "6.6.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "firebase"; + repo = "firebase-admin-python"; + tag = "v${version}"; + hash = "sha256-BjYo/H5CBII9KjefhGUiEeLKBAAsnQABX+21R4pR8wE="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + cachecontrol + cryptography + google-api-python-client + google-cloud-firestore + google-cloud-storage + pyjwt + requests + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-localserver + pytest-mock + ]; + + __darwinAllowLocalNetworking = true; + + disabledTests = [ + # Flaky (AssertionError) + # > assert delta <= timedelta(seconds=15) + # E assert datetime.timedelta(seconds=17, microseconds=28239) <= datetime.timedelta(seconds=15) + "test_task_options" + ]; + + meta = { + description = "Firebase Admin Python SDK"; + homepage = "https://github.com/firebase/firebase-admin-python"; + changelog = "https://github.com/firebase/firebase-admin-python/releases/tag/v${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ jhahn ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 41cfb95627c4..181d2c3edb18 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4638,6 +4638,8 @@ self: super: with self; { firebase-messaging = callPackage ../development/python-modules/firebase-messaging { }; + firebase-admin = callPackage ../development/python-modules/firebase-admin { }; + fireflyalgorithm = callPackage ../development/python-modules/fireflyalgorithm { }; firetv = callPackage ../development/python-modules/firetv { };