1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 setuptools, 6 cachecontrol, 7 cryptography, 8 google-api-python-client, 9 google-cloud-firestore, 10 google-cloud-storage, 11 h2, 12 httpx, 13 pyjwt, 14 requests, 15 respx, 16 pytestCheckHook, 17 pytest-asyncio, 18 pytest-localserver, 19 pytest-mock, 20}: 21 22buildPythonPackage rec { 23 pname = "firebase-admin"; 24 version = "7.1.0"; 25 pyproject = true; 26 27 src = fetchFromGitHub { 28 owner = "firebase"; 29 repo = "firebase-admin-python"; 30 tag = "v${version}"; 31 hash = "sha256-xlKrtH8f9UzY9OGYrpNH0i2OAlcxTrpzPC5JEuL8plM="; 32 }; 33 34 build-system = [ setuptools ]; 35 36 dependencies = [ 37 cachecontrol 38 cryptography 39 google-api-python-client 40 google-cloud-firestore 41 google-cloud-storage 42 httpx 43 pyjwt 44 requests 45 ]; 46 47 nativeCheckInputs = [ 48 pytestCheckHook 49 pytest-asyncio 50 pytest-localserver 51 pytest-mock 52 h2 53 respx 54 ]; 55 56 __darwinAllowLocalNetworking = true; 57 58 disabledTests = [ 59 # Flaky (AssertionError) 60 # > assert delta <= timedelta(seconds=15) 61 # E assert datetime.timedelta(seconds=17, microseconds=28239) <= datetime.timedelta(seconds=15) 62 "test_task_options" 63 64 # Flaky / timing sensitive 65 "test_expired_cookie_with_tolerance" 66 "test_expired_token_with_tolerance" 67 ]; 68 69 meta = { 70 description = "Firebase Admin Python SDK"; 71 homepage = "https://github.com/firebase/firebase-admin-python"; 72 changelog = "https://github.com/firebase/firebase-admin-python/releases/tag/${src.tag}"; 73 license = lib.licenses.asl20; 74 maintainers = with lib.maintainers; [ 75 jhahn 76 sarahec 77 ]; 78 }; 79}