firebase-admin 7.2.0__tar.gz → 7.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/PKG-INFO +1 -1
  2. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/__about__.py +1 -1
  3. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_messaging_encoder.py +4 -0
  4. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_messaging_utils.py +22 -2
  5. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_utils.py +0 -1
  6. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin.egg-info/PKG-INFO +1 -1
  7. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_messaging.py +16 -0
  8. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/LICENSE +0 -0
  9. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/README.md +0 -0
  10. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/__init__.py +0 -0
  11. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_auth_client.py +0 -0
  12. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_auth_providers.py +0 -0
  13. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_auth_utils.py +0 -0
  14. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_http_client.py +0 -0
  15. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_retry.py +0 -0
  16. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_rfc3339.py +0 -0
  17. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_sseclient.py +0 -0
  18. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_token_gen.py +0 -0
  19. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_user_identifier.py +0 -0
  20. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_user_import.py +0 -0
  21. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/_user_mgt.py +0 -0
  22. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/app_check.py +0 -0
  23. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/auth.py +0 -0
  24. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/credentials.py +0 -0
  25. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/db.py +0 -0
  26. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/exceptions.py +0 -0
  27. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/firestore.py +0 -0
  28. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/firestore_async.py +0 -0
  29. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/functions.py +0 -0
  30. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/instance_id.py +0 -0
  31. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/messaging.py +0 -0
  32. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/ml.py +0 -0
  33. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/project_management.py +0 -0
  34. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/remote_config.py +0 -0
  35. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/storage.py +0 -0
  36. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin/tenant_mgt.py +0 -0
  37. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin.egg-info/SOURCES.txt +0 -0
  38. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin.egg-info/dependency_links.txt +0 -0
  39. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin.egg-info/requires.txt +0 -0
  40. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/firebase_admin.egg-info/top_level.txt +0 -0
  41. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/setup.cfg +0 -0
  42. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/setup.py +0 -0
  43. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_app.py +0 -0
  44. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_app_check.py +0 -0
  45. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_auth_providers.py +0 -0
  46. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_credentials.py +0 -0
  47. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_db.py +0 -0
  48. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_exceptions.py +0 -0
  49. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_firestore.py +0 -0
  50. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_firestore_async.py +0 -0
  51. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_functions.py +0 -0
  52. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_http_client.py +0 -0
  53. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_instance_id.py +0 -0
  54. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_ml.py +0 -0
  55. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_project_management.py +0 -0
  56. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_remote_config.py +0 -0
  57. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_retry.py +0 -0
  58. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_rfc3339.py +0 -0
  59. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_sseclient.py +0 -0
  60. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_storage.py +0 -0
  61. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_tenant_mgt.py +0 -0
  62. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_token_gen.py +0 -0
  63. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/test_user_mgt.py +0 -0
  64. {firebase_admin-7.2.0 → firebase_admin-7.3.0}/tests/testutils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: firebase_admin
3
- Version: 7.2.0
3
+ Version: 7.3.0
4
4
  Summary: Firebase Admin Python SDK
5
5
  Home-page: https://firebase.google.com/docs/admin/setup/
6
6
  Author: Firebase
@@ -14,7 +14,7 @@
14
14
 
15
15
  """About information (version, etc) for Firebase Admin SDK."""
16
16
 
17
- __version__ = '7.2.0'
17
+ __version__ = '7.3.0'
18
18
  __title__ = 'firebase_admin'
19
19
  __author__ = 'Firebase'
20
20
  __license__ = 'Apache License 2.0'
@@ -207,6 +207,10 @@ class MessageEncoder(json.JSONEncoder):
207
207
  'fcm_options': cls.encode_android_fcm_options(android.fcm_options),
208
208
  'direct_boot_ok': _Validators.check_boolean(
209
209
  'AndroidConfig.direct_boot_ok', android.direct_boot_ok),
210
+ 'bandwidth_constrained_ok': _Validators.check_boolean(
211
+ 'AndroidConfig.bandwidth_constrained_ok', android.bandwidth_constrained_ok),
212
+ 'restricted_satellite_ok': _Validators.check_boolean(
213
+ 'AndroidConfig.restricted_satellite_ok', android.restricted_satellite_ok),
210
214
  }
211
215
  result = cls.remove_null_values(result)
212
216
  priority = result.get('priority')
@@ -13,6 +13,9 @@
13
13
  # limitations under the License.
14
14
 
15
15
  """Types and utilities used by the messaging (FCM) module."""
16
+ from __future__ import annotations
17
+ import datetime
18
+ from typing import Dict, Optional, Union
16
19
 
17
20
  from firebase_admin import exceptions
18
21
 
@@ -51,10 +54,25 @@ class AndroidConfig:
51
54
  fcm_options: A ``messaging.AndroidFCMOptions`` to be included in the message (optional).
52
55
  direct_boot_ok: A boolean indicating whether messages will be allowed to be delivered to
53
56
  the app while the device is in direct boot mode (optional).
57
+ bandwidth_constrained_ok: A boolean indicating whether messages will be allowed to be
58
+ delivered to the app while the device is on a bandwidth constrained network (optional).
59
+ restricted_satellite_ok: A boolean indicating whether messages will be allowed to be
60
+ delivered to the app while the device is on a restricted satellite network (optional).
54
61
  """
55
62
 
56
- def __init__(self, collapse_key=None, priority=None, ttl=None, restricted_package_name=None,
57
- data=None, notification=None, fcm_options=None, direct_boot_ok=None):
63
+ def __init__(
64
+ self,
65
+ collapse_key: Optional[str] = None,
66
+ priority: Optional[str] = None,
67
+ ttl: Optional[Union[int, float, datetime.timedelta]] = None,
68
+ restricted_package_name: Optional[str] = None,
69
+ data: Optional[Dict[str, str]] = None,
70
+ notification: Optional[AndroidNotification] = None,
71
+ fcm_options: Optional[AndroidFCMOptions] = None,
72
+ direct_boot_ok: Optional[bool] = None,
73
+ bandwidth_constrained_ok: Optional[bool] = None,
74
+ restricted_satellite_ok: Optional[bool] = None
75
+ ):
58
76
  self.collapse_key = collapse_key
59
77
  self.priority = priority
60
78
  self.ttl = ttl
@@ -63,6 +81,8 @@ class AndroidConfig:
63
81
  self.notification = notification
64
82
  self.fcm_options = fcm_options
65
83
  self.direct_boot_ok = direct_boot_ok
84
+ self.bandwidth_constrained_ok = bandwidth_constrained_ok
85
+ self.restricted_satellite_ok = restricted_satellite_ok
66
86
 
67
87
 
68
88
  class AndroidNotification:
@@ -279,7 +279,6 @@ def handle_httpx_error(error: httpx.HTTPError, message=None, code=None) -> excep
279
279
  message=f'Failed to establish a connection: {error}',
280
280
  cause=error)
281
281
  if isinstance(error, httpx.HTTPStatusError):
282
- print("printing status error", error)
283
282
  if not code:
284
283
  code = _http_status_to_error_code(error.response.status_code)
285
284
  if not message:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: firebase_admin
3
- Version: 7.2.0
3
+ Version: 7.3.0
4
4
  Summary: Firebase Admin Python SDK
5
5
  Home-page: https://firebase.google.com/docs/admin/setup/
6
6
  Author: Firebase
@@ -335,6 +335,18 @@ class TestAndroidConfigEncoder:
335
335
  check_encoding(messaging.Message(
336
336
  topic='topic', android=messaging.AndroidConfig(direct_boot_ok=data)))
337
337
 
338
+ @pytest.mark.parametrize('data', NON_BOOL_ARGS)
339
+ def test_invalid_bandwidth_constrained_ok(self, data):
340
+ with pytest.raises(ValueError):
341
+ check_encoding(messaging.Message(
342
+ topic='topic', android=messaging.AndroidConfig(bandwidth_constrained_ok=data)))
343
+
344
+ @pytest.mark.parametrize('data', NON_BOOL_ARGS)
345
+ def test_invalid_restricted_satellite_ok(self, data):
346
+ with pytest.raises(ValueError):
347
+ check_encoding(messaging.Message(
348
+ topic='topic', android=messaging.AndroidConfig(restricted_satellite_ok=data)))
349
+
338
350
 
339
351
  def test_android_config(self):
340
352
  msg = messaging.Message(
@@ -347,6 +359,8 @@ class TestAndroidConfigEncoder:
347
359
  data={'k1': 'v1', 'k2': 'v2'},
348
360
  fcm_options=messaging.AndroidFCMOptions('analytics_label_v1'),
349
361
  direct_boot_ok=True,
362
+ bandwidth_constrained_ok=True,
363
+ restricted_satellite_ok=True,
350
364
  )
351
365
  )
352
366
  expected = {
@@ -364,6 +378,8 @@ class TestAndroidConfigEncoder:
364
378
  'analytics_label': 'analytics_label_v1',
365
379
  },
366
380
  'direct_boot_ok': True,
381
+ 'bandwidth_constrained_ok': True,
382
+ 'restricted_satellite_ok': True,
367
383
  },
368
384
  }
369
385
  check_encoding(msg, expected)
File without changes
File without changes
File without changes
File without changes