utg-base 1.19.1__tar.gz → 1.20.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 (75) hide show
  1. {utg_base-1.19.1 → utg_base-1.20.0}/PKG-INFO +1 -1
  2. {utg_base-1.19.1 → utg_base-1.20.0}/pyproject.toml +1 -1
  3. utg_base-1.20.0/src/utg_base/utils/__init__.py +3 -0
  4. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/utils/data.py +6 -0
  5. utg_base-1.19.1/src/utg_base/utils/__init__.py +0 -3
  6. {utg_base-1.19.1 → utg_base-1.20.0}/README.md +0 -0
  7. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/__init__.py +0 -0
  8. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/api/__init__.py +0 -0
  9. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/api/base.py +0 -0
  10. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/api/pagination.py +0 -0
  11. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/api/permissions.py +0 -0
  12. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/api/routers.py +0 -0
  13. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/api/serializers.py +0 -0
  14. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/api/spectacular.py +0 -0
  15. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/authentications/__init__.py +0 -0
  16. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/authentications/microservice_authentication.py +0 -0
  17. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/authentications/models.py +0 -0
  18. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/__init__.py +0 -0
  19. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/apps.py +0 -0
  20. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/filters/__init__.py +0 -0
  21. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/filters/task_result.py +0 -0
  22. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/management/__init__.py +0 -0
  23. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/management/commands/__init__.py +0 -0
  24. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/management/commands/migrate_tasks.py +0 -0
  25. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/serializers/__init__.py +0 -0
  26. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/serializers/periodic_task.py +0 -0
  27. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/serializers/task_result.py +0 -0
  28. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/urls.py +0 -0
  29. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/views/__init__.py +0 -0
  30. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/views/periodic_task.py +0 -0
  31. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/celery/views/task_result.py +0 -0
  32. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/constants/__init__.py +0 -0
  33. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/constants/accessibility_type.py +0 -0
  34. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/constants/available_languages.py +0 -0
  35. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/env.py +0 -0
  36. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/logging.py +0 -0
  37. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/middleware/__init__.py +0 -0
  38. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/middleware/debug.py +0 -0
  39. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/middleware/locale.py +0 -0
  40. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/migration/__init__.py +0 -0
  41. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/migration/apps.py +0 -0
  42. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/migration/management/__init__.py +0 -0
  43. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/migration/management/commands/__init__.py +0 -0
  44. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/migration/management/commands/makemigrations.py +0 -0
  45. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/models/__init__.py +0 -0
  46. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/models/jwt_user.py +0 -0
  47. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/models/timestamp.py +0 -0
  48. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/permissions/__init__.py +0 -0
  49. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/permissions/decorators.py +0 -0
  50. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/permissions/folder.py +0 -0
  51. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/permissions/utils.py +0 -0
  52. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/references_api/__init__.py +0 -0
  53. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/references_api/apps.py +0 -0
  54. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/references_api/migrations/__init__.py +0 -0
  55. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/references_api/urls.py +0 -0
  56. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/references_api/utils.py +0 -0
  57. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/services/__init__.py +0 -0
  58. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/services/base_api.py +0 -0
  59. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/signals/__init__.py +0 -0
  60. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/signals/sync_perms.py +0 -0
  61. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/u_services/__init__.py +0 -0
  62. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/u_services/apps.py +0 -0
  63. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/u_services/constants.py +0 -0
  64. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/u_services/migrations/0001_initial.py +0 -0
  65. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/u_services/migrations/__init__.py +0 -0
  66. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/u_services/models.py +0 -0
  67. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/u_services/u_requests.py +0 -0
  68. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/utils/date.py +0 -0
  69. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/utils/dict_util.py +0 -0
  70. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/utils/response_processors.py +0 -0
  71. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/utils/signals.py +0 -0
  72. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/utils/sql.py +0 -0
  73. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/utils/string.py +0 -0
  74. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/utils/thread.py +0 -0
  75. {utg_base-1.19.1 → utg_base-1.20.0}/src/utg_base/utils/translation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: utg-base
3
- Version: 1.19.1
3
+ Version: 1.20.0
4
4
  Summary: UTG Base Package
5
5
  Author: Olimboy
6
6
  Author-email: shavkatov.olimboy@mail.ru
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "utg-base"
3
- version = "1.19.1"
3
+ version = "1.20.0"
4
4
  description = "UTG Base Package"
5
5
  authors = ["Olimboy <shavkatov.olimboy@mail.ru>", "Rovshen <rovshenashirov1619@gmail.com>"]
6
6
  readme = "README.md"
@@ -0,0 +1,3 @@
1
+ from .data import deep_map, deep_round, safe_sum, safe_subtract, compute_change_percent
2
+ from .dict_util import get_by_dotted
3
+ from .string import to_snake_case
@@ -147,3 +147,9 @@ def safe_get(obj, dotted_path: str, default=None):
147
147
  return default
148
148
 
149
149
  return obj
150
+
151
+
152
+ def compute_change_percent(current, previous, ndigits=2):
153
+ if not current or previous in (None, 0):
154
+ return None
155
+ return round(((current - previous) / previous) * 100, ndigits)
@@ -1,3 +0,0 @@
1
- from .data import deep_map, deep_round, safe_sum, safe_subtract
2
- from .dict_util import get_by_dotted
3
- from .string import to_snake_case
File without changes
File without changes