cardo-python-utils 0.5.7__tar.gz → 0.5.8__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 (76) hide show
  1. {cardo_python_utils-0.5.7/cardo_python_utils.egg-info → cardo_python_utils-0.5.8}/PKG-INFO +1 -1
  2. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8/cardo_python_utils.egg-info}/PKG-INFO +1 -1
  3. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/pyproject.toml +1 -1
  4. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/oidc_settings.py +12 -4
  5. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/LICENSE +0 -0
  6. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/MANIFEST.in +0 -0
  7. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/README.rst +0 -0
  8. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/cardo_python_utils.egg-info/SOURCES.txt +0 -0
  9. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/cardo_python_utils.egg-info/dependency_links.txt +0 -0
  10. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/cardo_python_utils.egg-info/requires.txt +0 -0
  11. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/cardo_python_utils.egg-info/top_level.txt +0 -0
  12. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/__init__.py +0 -0
  13. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/choices.py +0 -0
  14. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/data_structures.py +0 -0
  15. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/db.py +0 -0
  16. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/README.md +0 -0
  17. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/__init__.py +0 -0
  18. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/admin/__init__.py +0 -0
  19. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/admin/auth.py +0 -0
  20. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/admin/templates/__init__.py +0 -0
  21. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/admin/templates/user_groups_changelist.html +0 -0
  22. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/admin/user_group.py +0 -0
  23. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/admin/views.py +0 -0
  24. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/api/__init__.py +0 -0
  25. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/api/drf.py +0 -0
  26. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/api/ninja.py +0 -0
  27. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/api/utils.py +0 -0
  28. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/apps.py +0 -0
  29. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/auth/service.py +0 -0
  30. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/celery/__init__.py +0 -0
  31. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/celery/tenant_aware_database_scheduler.py +0 -0
  32. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/celery/tenant_aware_task.py +0 -0
  33. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/db/__init__.py +0 -0
  34. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/db/alias.py +0 -0
  35. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/db/routers.py +0 -0
  36. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/db/transaction.py +0 -0
  37. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/db/utils.py +0 -0
  38. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/management/__init__.py +0 -0
  39. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/management/commands/__init__.py +0 -0
  40. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/management/commands/migrateall.py +0 -0
  41. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/management/commands/shell.py +0 -0
  42. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/management/commands/showmigrations.py +0 -0
  43. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/management/commands/tenant_aware_command.py +0 -0
  44. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/middleware/__init__.py +0 -0
  45. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/middleware/tenant_aware_http_middleware.py +0 -0
  46. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/middleware/tenant_aware_websocket_middleware.py +0 -0
  47. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/migrations/0001_initial.py +0 -0
  48. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/migrations/0001_initial_squashed_0005_alter_userrole_id.py +0 -0
  49. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/migrations/0002_auto_20220120_1617.py +0 -0
  50. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/migrations/0003_auto_20220513_1025.py +0 -0
  51. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/migrations/0004_auto_20220817_1526.py +0 -0
  52. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/migrations/0005_alter_userrole_id.py +0 -0
  53. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/migrations/0006_userrole_organization_and_more.py +0 -0
  54. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/migrations/0007_user_demo.py +0 -0
  55. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/migrations/0008_delete_userrole.py +0 -0
  56. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/migrations/__init__.py +0 -0
  57. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/models/__init__.py +0 -0
  58. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/models/user.py +0 -0
  59. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/models/user_group.py +0 -0
  60. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/redis/__init__.py +0 -0
  61. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/redis/key_function.py +0 -0
  62. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/settings.py +0 -0
  63. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/storage/__init__.py +0 -0
  64. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/storage/tenant_aware_storage.py +0 -0
  65. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/tenant_context.py +0 -0
  66. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/tests/__init__.py +0 -0
  67. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django/tests/conftest.py +0 -0
  68. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/django_utils.py +0 -0
  69. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/esma_choices.py +0 -0
  70. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/exceptions.py +0 -0
  71. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/imports.py +0 -0
  72. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/math.py +0 -0
  73. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/text.py +0 -0
  74. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/time.py +0 -0
  75. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/python_utils/types_hinting.py +0 -0
  76. {cardo_python_utils-0.5.7 → cardo_python_utils-0.5.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cardo-python-utils
3
- Version: 0.5.7
3
+ Version: 0.5.8
4
4
  Summary: Python library enhanced with a wide range of functions for different scenarios.
5
5
  Author-email: CardoAI <hello@cardoai.com>
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cardo-python-utils
3
- Version: 0.5.7
3
+ Version: 0.5.8
4
4
  Summary: Python library enhanced with a wide range of functions for different scenarios.
5
5
  Author-email: CardoAI <hello@cardoai.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "cardo-python-utils"
7
- version = "0.5.7"
7
+ version = "0.5.8"
8
8
  description = "Python library enhanced with a wide range of functions for different scenarios."
9
9
  readme = "README.rst"
10
10
  requires-python = ">=3.8"
@@ -6,6 +6,7 @@ dynamically based on the tenant.
6
6
 
7
7
  import json
8
8
  import os
9
+ import time
9
10
  import requests
10
11
 
11
12
  from django.conf import settings
@@ -125,10 +126,17 @@ def get_oidc_confidential_client_token(**kwargs) -> dict:
125
126
  data["client_assertion_type"] = KEYCLOAK_CLIENT_ASSERTION_TYPE
126
127
  data["client_assertion"] = get_confidential_client_service_account_token()
127
128
 
128
- response = requests.post(
129
- get_oidc_op_token_endpoint(),
130
- data=data,
131
- )
129
+ max_retries = 3
130
+ for attempt in range(max_retries + 1):
131
+ response = requests.post(
132
+ get_oidc_op_token_endpoint(),
133
+ data=data,
134
+ )
135
+ # Retry on server errors (5xx), it might be a temporary issue with Keycloak.
136
+ if response.status_code < 500 or attempt == max_retries:
137
+ break
138
+ time.sleep(2**attempt) # 1, 2, 4 seconds
139
+
132
140
  response.raise_for_status()
133
141
 
134
142
  return response.json()