everysk-lib 1.9.1__tar.gz → 1.9.5__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 (136) hide show
  1. {everysk_lib-1.9.1/src/everysk_lib.egg-info → everysk_lib-1.9.5}/PKG-INFO +19 -22
  2. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/pyproject.toml +18 -22
  3. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/http.py +1 -4
  4. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/secrets/base.py +3 -1
  5. everysk_lib-1.9.5/src/everysk/sdk/entities/secrets/script.py +119 -0
  6. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/settings.py +1 -0
  7. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/tests.py +16 -2
  8. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sql/connection.py +3 -1
  9. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sql/settings.py +2 -0
  10. {everysk_lib-1.9.1 → everysk_lib-1.9.5/src/everysk_lib.egg-info}/PKG-INFO +19 -22
  11. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk_lib.egg-info/SOURCES.txt +1 -0
  12. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk_lib.egg-info/requires.txt +18 -21
  13. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/LICENSE.txt +0 -0
  14. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/MANIFEST.in +0 -0
  15. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/README.md +0 -0
  16. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/setup.cfg +0 -0
  17. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/setup.py +0 -0
  18. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/__init__.py +0 -0
  19. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/_version.py +0 -0
  20. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/__init__.py +0 -0
  21. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_requestor.py +0 -0
  22. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/__init__.py +0 -0
  23. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/api_resource.py +0 -0
  24. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/calculation.py +0 -0
  25. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/custom_index.py +0 -0
  26. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/datastore.py +0 -0
  27. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/file.py +0 -0
  28. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/market_data.py +0 -0
  29. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/parser.py +0 -0
  30. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/portfolio.py +0 -0
  31. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/private_security.py +0 -0
  32. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/report.py +0 -0
  33. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/report_template.py +0 -0
  34. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/tests.py +0 -0
  35. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/worker_execution.py +0 -0
  36. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/workflow.py +0 -0
  37. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/workflow_execution.py +0 -0
  38. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/api_resources/workspace.py +0 -0
  39. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/http_client.py +0 -0
  40. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/tests.py +0 -0
  41. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/api/utils.py +0 -0
  42. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/config.py +0 -0
  43. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/_tests/serialize/test_json.py +0 -0
  44. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/_tests/serialize/test_orjson.py +0 -0
  45. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/_tests/serialize/test_pickle.py +0 -0
  46. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/cloud_function/main.py +0 -0
  47. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/cloud_function/tests.py +0 -0
  48. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/compress.py +0 -0
  49. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/datetime/__init__.py +0 -0
  50. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/datetime/calendar.py +0 -0
  51. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/datetime/date.py +0 -0
  52. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/datetime/date_expression.py +0 -0
  53. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/datetime/date_mixin.py +0 -0
  54. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/datetime/date_settings.py +0 -0
  55. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/datetime/datetime.py +0 -0
  56. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/exceptions.py +0 -0
  57. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/fields.py +0 -0
  58. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/firestore.py +0 -0
  59. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/fixtures/_settings.py +0 -0
  60. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/fixtures/other/_settings.py +0 -0
  61. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/fixtures/user_agents.json +0 -0
  62. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/lists.py +0 -0
  63. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/log.py +0 -0
  64. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/number.py +0 -0
  65. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/object.py +0 -0
  66. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/redis.py +0 -0
  67. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/serialize.py +0 -0
  68. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/sftp.py +0 -0
  69. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/signing.py +0 -0
  70. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/slack.py +0 -0
  71. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/string.py +0 -0
  72. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/tests.py +0 -0
  73. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/threads.py +0 -0
  74. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/undefined.py +0 -0
  75. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/unittests.py +0 -0
  76. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/core/workers.py +0 -0
  77. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/__init__.py +0 -0
  78. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/base.py +0 -0
  79. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/engines/__init__.py +0 -0
  80. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/engines/cache.py +0 -0
  81. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/engines/compliance.py +0 -0
  82. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/engines/cryptography.py +0 -0
  83. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/engines/lock.py +0 -0
  84. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/engines/market_data.py +0 -0
  85. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/engines/settings.py +0 -0
  86. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/__init__.py +0 -0
  87. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/base.py +0 -0
  88. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/base_list.py +0 -0
  89. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/custom_index/base.py +0 -0
  90. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/custom_index/settings.py +0 -0
  91. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/datastore/base.py +0 -0
  92. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/datastore/settings.py +0 -0
  93. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/fields.py +0 -0
  94. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/file/base.py +0 -0
  95. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/file/settings.py +0 -0
  96. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/portfolio/base.py +0 -0
  97. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/portfolio/securities.py +0 -0
  98. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/portfolio/security.py +0 -0
  99. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/portfolio/settings.py +0 -0
  100. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/private_security/base.py +0 -0
  101. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/private_security/settings.py +0 -0
  102. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/query.py +0 -0
  103. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/report/base.py +0 -0
  104. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/report/settings.py +0 -0
  105. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/script.py +0 -0
  106. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/secrets/settings.py +0 -0
  107. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/settings.py +0 -0
  108. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/tags.py +0 -0
  109. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/worker_execution/base.py +0 -0
  110. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/worker_execution/settings.py +0 -0
  111. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/workflow_execution/base.py +0 -0
  112. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/workflow_execution/settings.py +0 -0
  113. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/workspace/base.py +0 -0
  114. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/entities/workspace/settings.py +0 -0
  115. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sdk/worker_base.py +0 -0
  116. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/server/__init__.py +0 -0
  117. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/server/applications.py +0 -0
  118. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/server/endpoints.py +0 -0
  119. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/server/example_api.py +0 -0
  120. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/server/middlewares.py +0 -0
  121. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/server/requests.py +0 -0
  122. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/server/responses.py +0 -0
  123. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/server/routing.py +0 -0
  124. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/server/settings.py +0 -0
  125. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/server/tests.py +0 -0
  126. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/settings.py +0 -0
  127. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sql/__init__.py +0 -0
  128. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sql/model.py +0 -0
  129. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sql/query.py +0 -0
  130. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/sql/utils.py +0 -0
  131. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/tests.py +0 -0
  132. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/utils.py +0 -0
  133. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk/version.py +0 -0
  134. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk_lib.egg-info/.gitignore +0 -0
  135. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk_lib.egg-info/dependency_links.txt +0 -0
  136. {everysk_lib-1.9.1 → everysk_lib-1.9.5}/src/everysk_lib.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: everysk-lib
3
- Version: 1.9.1
3
+ Version: 1.9.5
4
4
  Summary: Generic lib to share python code on Everysk.
5
5
  License-Expression: LicenseRef-Proprietary
6
6
  Project-URL: Homepage, https://everysk.com/
@@ -14,15 +14,15 @@ Description-Content-Type: text/markdown
14
14
  License-File: LICENSE.txt
15
15
  Requires-Dist: python-dateutil==2.8.2
16
16
  Requires-Dist: holidays==0.51
17
- Requires-Dist: tzdata==2024.1
17
+ Requires-Dist: tzdata==2025.2
18
18
  Provides-Extra: requests
19
- Requires-Dist: certifi==2025.01.31; extra == "requests"
20
- Requires-Dist: charset-normalizer==3.3.2; extra == "requests"
21
- Requires-Dist: idna==3.6; extra == "requests"
19
+ Requires-Dist: certifi==2025.10.5; extra == "requests"
20
+ Requires-Dist: charset_normalizer==3.4.4; extra == "requests"
21
+ Requires-Dist: idna==3.11; extra == "requests"
22
22
  Requires-Dist: urllib3==2.5.0; extra == "requests"
23
- Requires-Dist: requests==2.32.4; extra == "requests"
23
+ Requires-Dist: requests==2.32.5; extra == "requests"
24
24
  Provides-Extra: firestore
25
- Requires-Dist: certifi==2025.01.31; extra == "firestore"
25
+ Requires-Dist: certifi==2025.10.5; extra == "firestore"
26
26
  Requires-Dist: charset-normalizer==3.3.2; extra == "firestore"
27
27
  Requires-Dist: idna==3.6; extra == "firestore"
28
28
  Requires-Dist: urllib3==2.5.0; extra == "firestore"
@@ -41,10 +41,10 @@ Requires-Dist: proto-plus==1.23.0; extra == "firestore"
41
41
  Requires-Dist: protobuf==4.25.8; extra == "firestore"
42
42
  Requires-Dist: google-cloud-firestore==2.15.0; extra == "firestore"
43
43
  Provides-Extra: redis
44
- Requires-Dist: hiredis==3.2.1; extra == "redis"
45
- Requires-Dist: redis==6.4.0; extra == "redis"
44
+ Requires-Dist: hiredis==3.3.0; extra == "redis"
45
+ Requires-Dist: redis==7.0.0; extra == "redis"
46
46
  Provides-Extra: tasks
47
- Requires-Dist: certifi==2025.01.31; extra == "tasks"
47
+ Requires-Dist: certifi==2025.10.5; extra == "tasks"
48
48
  Requires-Dist: charset-normalizer==3.3.2; extra == "tasks"
49
49
  Requires-Dist: idna==3.6; extra == "tasks"
50
50
  Requires-Dist: urllib3==2.5.0; extra == "tasks"
@@ -74,35 +74,32 @@ Requires-Dist: flask==3.0.3; extra == "flask"
74
74
  Provides-Extra: starlette
75
75
  Requires-Dist: idna==3.10; extra == "starlette"
76
76
  Requires-Dist: sniffio==1.3.1; extra == "starlette"
77
- Requires-Dist: typing-extensions==4.14.1; extra == "starlette"
77
+ Requires-Dist: typing-extensions==4.15.0; extra == "starlette"
78
78
  Requires-Dist: anyio==4.9.0; extra == "starlette"
79
- Requires-Dist: certifi==2025.7.14; extra == "starlette"
79
+ Requires-Dist: certifi==2025.10.5; extra == "starlette"
80
80
  Requires-Dist: h11==0.16.0; extra == "starlette"
81
81
  Requires-Dist: httpcore==1.0.9; extra == "starlette"
82
82
  Requires-Dist: hpack==4.1.0; extra == "starlette"
83
83
  Requires-Dist: hyperframe==6.1.0; extra == "starlette"
84
- Requires-Dist: h2==4.2.0; extra == "starlette"
84
+ Requires-Dist: h2==4.3.0; extra == "starlette"
85
85
  Requires-Dist: httpx==0.28.1; extra == "starlette"
86
86
  Requires-Dist: MarkupSafe==3.0.2; extra == "starlette"
87
87
  Requires-Dist: jinja2==3.1.6; extra == "starlette"
88
88
  Requires-Dist: itsdangerous==2.2.0; extra == "starlette"
89
89
  Requires-Dist: python-multipart==0.0.20; extra == "starlette"
90
- Requires-Dist: pyyaml==6.0.2; extra == "starlette"
91
- Requires-Dist: uvloop==0.21.0; extra == "starlette"
92
- Requires-Dist: starlette==0.47.2; extra == "starlette"
93
- Requires-Dist: click==8.2.1; extra == "starlette"
94
- Requires-Dist: uvicorn==0.35.0; extra == "starlette"
90
+ Requires-Dist: pyyaml==6.0.3; extra == "starlette"
91
+ Requires-Dist: starlette==0.49.1; extra == "starlette"
95
92
  Provides-Extra: httpx
96
93
  Requires-Dist: idna==3.10; extra == "httpx"
97
94
  Requires-Dist: sniffio==1.3.1; extra == "httpx"
98
- Requires-Dist: typing-extensions==4.14.1; extra == "httpx"
95
+ Requires-Dist: typing-extensions==4.15.0; extra == "httpx"
99
96
  Requires-Dist: anyio==4.9.0; extra == "httpx"
100
- Requires-Dist: certifi==2025.7.14; extra == "httpx"
97
+ Requires-Dist: certifi==2025.10.5; extra == "httpx"
101
98
  Requires-Dist: h11==0.16.0; extra == "httpx"
102
99
  Requires-Dist: httpcore==1.0.9; extra == "httpx"
103
100
  Requires-Dist: hpack==4.1.0; extra == "httpx"
104
101
  Requires-Dist: hyperframe==6.1.0; extra == "httpx"
105
- Requires-Dist: h2==4.2.0; extra == "httpx"
102
+ Requires-Dist: h2==4.3.0; extra == "httpx"
106
103
  Requires-Dist: httpx==0.28.1; extra == "httpx"
107
104
  Provides-Extra: paramiko
108
105
  Requires-Dist: bcrypt==4.2.0; extra == "paramiko"
@@ -118,7 +115,7 @@ Requires-Dist: lark==1.2.2; extra == "expression"
118
115
  Requires-Dist: numpy==1.26.4; extra == "expression"
119
116
  Requires-Dist: pandas==2.1.4; extra == "expression"
120
117
  Provides-Extra: postgresql
121
- Requires-Dist: psqlpy==0.11.8; extra == "postgresql"
118
+ Requires-Dist: psqlpy==0.11.9; extra == "postgresql"
122
119
  Dynamic: license-file
123
120
 
124
121
 
@@ -40,7 +40,7 @@ classifiers = [
40
40
  dependencies = [
41
41
  "python-dateutil==2.8.2",
42
42
  "holidays==0.51",
43
- "tzdata==2024.1"
43
+ "tzdata==2025.2"
44
44
  ]
45
45
 
46
46
  [project.urls]
@@ -53,15 +53,15 @@ Homepage = "https://everysk.com/"
53
53
  # Remember to keep these in requirements.txt too
54
54
  [project.optional-dependencies]
55
55
  requests = [
56
- "certifi==2025.01.31",
57
- "charset-normalizer==3.3.2",
58
- "idna==3.6",
56
+ "certifi==2025.10.5",
57
+ "charset_normalizer==3.4.4",
58
+ "idna==3.11",
59
59
  "urllib3==2.5.0",
60
- "requests==2.32.4"
60
+ "requests==2.32.5"
61
61
  ]
62
62
 
63
63
  firestore = [
64
- "certifi==2025.01.31",
64
+ "certifi==2025.10.5",
65
65
  "charset-normalizer==3.3.2",
66
66
  "idna==3.6",
67
67
  "urllib3==2.5.0",
@@ -82,12 +82,12 @@ firestore = [
82
82
  ]
83
83
 
84
84
  redis = [
85
- "hiredis==3.2.1",
86
- "redis==6.4.0"
85
+ "hiredis==3.3.0",
86
+ "redis==7.0.0"
87
87
  ]
88
88
 
89
89
  tasks = [
90
- "certifi==2025.01.31",
90
+ "certifi==2025.10.5",
91
91
  "charset-normalizer==3.3.2",
92
92
  "idna==3.6",
93
93
  "urllib3==2.5.0",
@@ -122,15 +122,15 @@ starlette = [
122
122
  # anyio dependencies
123
123
  "idna==3.10",
124
124
  "sniffio==1.3.1",
125
- "typing-extensions==4.14.1",
125
+ "typing-extensions==4.15.0",
126
126
  "anyio==4.9.0",
127
127
  # httpx dependencies
128
- "certifi==2025.7.14",
128
+ "certifi==2025.10.5",
129
129
  "h11==0.16.0",
130
130
  "httpcore==1.0.9",
131
131
  "hpack==4.1.0",
132
132
  "hyperframe==6.1.0",
133
- "h2==4.2.0",
133
+ "h2==4.3.0",
134
134
  "httpx==0.28.1",
135
135
  # jinja2 dependencies
136
136
  "MarkupSafe==3.0.2",
@@ -138,27 +138,23 @@ starlette = [
138
138
  # starlette dependencies
139
139
  "itsdangerous==2.2.0",
140
140
  "python-multipart==0.0.20",
141
- "pyyaml==6.0.2",
142
- "uvloop==0.21.0",
143
- "starlette==0.47.2",
144
- # uvicorn dependencies
145
- "click==8.2.1",
146
- "uvicorn==0.35.0",
141
+ "pyyaml==6.0.3",
142
+ "starlette==0.49.1",
147
143
  ]
148
144
 
149
145
  httpx = [
150
146
  # anyio dependencies
151
147
  "idna==3.10",
152
148
  "sniffio==1.3.1",
153
- "typing-extensions==4.14.1",
149
+ "typing-extensions==4.15.0",
154
150
  "anyio==4.9.0",
155
151
  # httpx dependencies
156
- "certifi==2025.7.14",
152
+ "certifi==2025.10.5",
157
153
  "h11==0.16.0",
158
154
  "httpcore==1.0.9",
159
155
  "hpack==4.1.0",
160
156
  "hyperframe==6.1.0",
161
- "h2==4.2.0",
157
+ "h2==4.3.0",
162
158
  "httpx==0.28.1",
163
159
  ]
164
160
 
@@ -182,7 +178,7 @@ expression = [
182
178
  ]
183
179
 
184
180
  postgresql = [
185
- "psqlpy==0.11.8"
181
+ "psqlpy==0.11.9"
186
182
  ]
187
183
 
188
184
  [build-system]
@@ -278,10 +278,7 @@ class HttpConnection(BaseObject):
278
278
 
279
279
  def get_timeout(self) -> httpx.Timeout:
280
280
  """Return the timeout to be used in the connection."""
281
- return httpx.Timeout(
282
- timeout=30, # Default timeout for all operations
283
- read=self.timeout, # Timeout for reading the response
284
- )
281
+ return httpx.Timeout(timeout=self.timeout)
285
282
 
286
283
  def message_error_check(self, message: str, status_code: int) -> bool: # pylint: disable=unused-argument
287
284
  """
@@ -16,12 +16,14 @@ from everysk.core.fields import DictField, ListField, StrField
16
16
  from everysk.core.object import BaseDict
17
17
  from everysk.sdk.entities.base import BaseEntity
18
18
  from everysk.sdk.entities.fields import EntityDescriptionField, EntityNameField
19
+ from everysk.sdk.entities.secrets.script import SecretsScript, SecretsScriptMetaClass
19
20
 
20
21
 
21
22
  ###############################################################################
22
23
  # Secrets Class Implementation
23
24
  ###############################################################################
24
- class Secrets(BaseEntity):
25
+ class Secrets(BaseEntity, metaclass=SecretsScriptMetaClass):
26
+ script: SecretsScript = None
25
27
  _orderable_attributes = ListField(default=['created_on', 'updated_on', 'name'], readonly=True)
26
28
 
27
29
  id = StrField(regex=settings.SECRETS_ID_REGEX, required_lazy=True, empty_is_none=True)
@@ -0,0 +1,119 @@
1
+ ###############################################################################
2
+ #
3
+ # (C) Copyright 2025 EVERYSK TECHNOLOGIES
4
+ #
5
+ # This is an unpublished work containing confidential and proprietary
6
+ # information of EVERYSK TECHNOLOGIES. Disclosure, use, or reproduction
7
+ # without authorization of EVERYSK TECHNOLOGIES is prohibited.
8
+ #
9
+ ###############################################################################
10
+ import base64
11
+ from collections.abc import Callable
12
+ from inspect import isclass
13
+ from typing import Any
14
+
15
+ import six
16
+
17
+ from everysk.config import settings
18
+ from everysk.core.exceptions import FieldValueError, WorkerError
19
+ from everysk.core.object import BaseDict
20
+ from everysk.core.string import import_from_string
21
+ from everysk.sdk.base import BaseSDK
22
+ from everysk.sdk.entities import File
23
+ from everysk.sdk.entities.base import QueryMetaClass
24
+
25
+ ###############################################################################
26
+ # Class Implementation
27
+ ###############################################################################
28
+
29
+
30
+ class SecretsScript(BaseDict, BaseSDK):
31
+ _klass: Callable = None
32
+
33
+ def __init__(self, _klass: Callable) -> None:
34
+ super().__init__(_klass=None)
35
+
36
+ if _klass is not None and not isclass(_klass):
37
+ try:
38
+ _klass = import_from_string(settings.EVERYSK_SDK_ENTITIES_MODULES_PATH[_klass])
39
+ except KeyError:
40
+ raise FieldValueError(
41
+ f"The _klass value '{_klass}' must be a class or a string with the class name."
42
+ ) from KeyError
43
+
44
+ self._klass = _klass
45
+
46
+ def _process__klass(self, value: Any) -> Any:
47
+ """
48
+ This method is used to process the '_klass' attribute.
49
+ """
50
+ return value.__name__
51
+
52
+ def _from_base_64(self, file_data: str) -> str:
53
+ """
54
+ Decodes the base 64 string data to normal sting.
55
+
56
+ Args:
57
+ file_data (str or bytes): The input data to be decoded. This can be a string or bytes.
58
+
59
+ Returns:
60
+ str: The decoded version of the input data as a string.
61
+ """
62
+ return six.ensure_str(base64.b64decode(six.ensure_str(file_data)))
63
+
64
+ def _get_secrets_from_file(self, query: str | BaseDict | list[str], variant: str, workspace: str) -> str:
65
+ secrets_file = File.script.fetch(query, variant, workspace)
66
+
67
+ if not secrets_file:
68
+ return None
69
+
70
+ return self._from_base_64(secrets_file.data)
71
+
72
+ def normalize(self, value: str | BaseDict | list[str], variant: str, workspace: str = None) -> str:
73
+ normalized_value: str = None
74
+
75
+ if variant == 'selectSecrets':
76
+ from everysk.sdk.entities import Secrets
77
+
78
+ normalized_value = Secrets.value_from_path(value)
79
+
80
+ elif variant in {'metaString', 'password'}:
81
+ normalized_value = value
82
+
83
+ elif variant in {'selectFile', 'tagLatest', 'linkLatest'}:
84
+ normalized_value = self._get_secrets_from_file(value, variant, workspace)
85
+
86
+ elif variant == 'previousWorkers':
87
+ if isinstance(value, str) and not File.validate_id(value):
88
+ normalized_value = value
89
+
90
+ else:
91
+ normalized_value = self._get_secrets_from_file(value, variant, workspace)
92
+
93
+ else:
94
+ raise WorkerError(f'Unsupported secrets variant `{variant}`')
95
+
96
+ return normalized_value
97
+
98
+
99
+ class SecretsScriptMetaClass(QueryMetaClass):
100
+ """
101
+ Metaclass for the Script class that allows for the script attribute to be accessed
102
+ directly from the entity class.
103
+
104
+ Example:
105
+ To access the script attribute from the entity class:
106
+ >>> MyClass.script
107
+ Script()
108
+
109
+ Notes:
110
+ This metaclass overrides the __getatrribute__ method to enable direct access
111
+ """
112
+
113
+ def __getattribute__(cls, __name: str) -> Any:
114
+ """
115
+ Get the script attribute from the entity class.
116
+ """
117
+ if __name == 'script':
118
+ return SecretsScript(cls)
119
+ return super().__getattribute__(__name)
@@ -50,6 +50,7 @@ EVERYSK_SDK_ENTITIES_MODULES_PATH = DictField(
50
50
  'WorkflowExecution': 'everysk.sdk.entities.workflow_execution.base.WorkflowExecution',
51
51
  'Workspace': 'everysk.sdk.entities.workspace.base.Workspace',
52
52
  'Secrets': 'everysk.sdk.entities.secrets.base.Secrets',
53
+ 'SecretsScript': 'everysk.sdk.entities.secrets.base.SecretsScript',
53
54
  },
54
55
  readonly=True,
55
56
  )
@@ -50,8 +50,22 @@ try:
50
50
  )
51
51
  from everysk.sdk.engines.expression.tests.interpreter import InterpreterTestCase as EveryskLibInterpreterTestCaseNew
52
52
  from everysk.sdk.engines.expression.tests.validator import ValidatorTestCase as EveryskLibValidatorTestCaseNew
53
- from everysk.sdk.engines.helpers.tests.algorithms import NpSortTestCase as EveryskLibHelpersNpSortTestCase
54
- from everysk.sdk.engines.helpers.tests.algorithms import NpUniqueTestCase as EveryskLibHelpersNpUniqueTestCase
53
+ from everysk.sdk.engines.helpers.tests.test_algorithms import NpSortTestCase as EveryskLibHelpersNpSortTestCase
54
+ from everysk.sdk.engines.helpers.tests.test_algorithms import NpUniqueTestCase as EveryskLibHelpersNpUniqueTestCase
55
+ from everysk.sdk.engines.helpers.tests.test_formater import FormaterTestCase as EveryskLibFormaterTestCase
56
+ from everysk.sdk.engines.helpers.tests.test_functions import FunctionsTestCase as EveryskLibFunctionsTestCase
57
+ from everysk.sdk.engines.helpers.tests.test_mathematical import (
58
+ MathematicalTestCase as EveryskLibMathematicalTestCase,
59
+ )
60
+ from everysk.sdk.engines.helpers.tests.test_mixin_lib import AttribMixinTestCase as EveryskLibAttribMixinTestCase
61
+ from everysk.sdk.engines.helpers.tests.test_mixin_lib import MappingMixinTestCase as EveryskLibMappingMixinTestCase
62
+ from everysk.sdk.engines.helpers.tests.test_mixin_lib import ReprMixinTestCase as EveryskLibReprMixinTestCase
63
+ from everysk.sdk.engines.helpers.tests.test_mixin_lib import ToDictMixinTestCase as EveryskLibToDictMixinTestCase
64
+ from everysk.sdk.engines.helpers.tests.test_python2 import NPUniqueTestCase as EveryskLibNPUniqueTestCase
65
+ from everysk.sdk.engines.helpers.tests.test_python2 import (
66
+ SortablePY2ObjectTestCase as EveryskLibSortablePY2ObjectTestCase,
67
+ )
68
+ from everysk.sdk.engines.helpers.tests.test_transform import TransformTestCase as EveryskLibTransformTestCase
55
69
  from everysk.sdk.entities._tests.base import TestBaseEntity as EveryskLibTestBaseEntity
56
70
  from everysk.sdk.entities._tests.base_list import TestEntityList as EveryskLibTestEntityList
57
71
  from everysk.sdk.entities._tests.fields import TestBaseCurrencyField as EveryskLibTestBaseCurrencyField
@@ -110,7 +110,9 @@ def get_pool(dsn: str | None = None) -> ConnectionPool:
110
110
  key = f'{getpid()}:{hash(dsn)}'
111
111
  if key not in _CONNECTIONS:
112
112
  _CONNECTIONS[key] = ConnectionPool(
113
- dsn=dsn, max_db_pool_size=settings.POSTGRESQL_POOL_MAX_SIZE, ssl_mode=SslMode.Prefer
113
+ dsn=dsn,
114
+ max_db_pool_size=settings.POSTGRESQL_POOL_MAX_SIZE,
115
+ ssl_mode=getattr(SslMode, settings.POSTGRESQL_CONNECTION_ENCRYPTION, None),
114
116
  )
115
117
  return _CONNECTIONS[key]
116
118
 
@@ -17,4 +17,6 @@ POSTGRESQL_CONNECTION_PASSWORD: str = None
17
17
  POSTGRESQL_CONNECTION_PORT: int = 5432
18
18
  POSTGRESQL_CONNECTION_HOST: str = None
19
19
  POSTGRESQL_CONNECTION_USER: str = None
20
+ # Disable, Allow, Prefer, Require, VerifyCA, VerifyFull
21
+ POSTGRESQL_CONNECTION_ENCRYPTION: str = 'Prefer'
20
22
  POSTGRESQL_POOL_MAX_SIZE: int = 10
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: everysk-lib
3
- Version: 1.9.1
3
+ Version: 1.9.5
4
4
  Summary: Generic lib to share python code on Everysk.
5
5
  License-Expression: LicenseRef-Proprietary
6
6
  Project-URL: Homepage, https://everysk.com/
@@ -14,15 +14,15 @@ Description-Content-Type: text/markdown
14
14
  License-File: LICENSE.txt
15
15
  Requires-Dist: python-dateutil==2.8.2
16
16
  Requires-Dist: holidays==0.51
17
- Requires-Dist: tzdata==2024.1
17
+ Requires-Dist: tzdata==2025.2
18
18
  Provides-Extra: requests
19
- Requires-Dist: certifi==2025.01.31; extra == "requests"
20
- Requires-Dist: charset-normalizer==3.3.2; extra == "requests"
21
- Requires-Dist: idna==3.6; extra == "requests"
19
+ Requires-Dist: certifi==2025.10.5; extra == "requests"
20
+ Requires-Dist: charset_normalizer==3.4.4; extra == "requests"
21
+ Requires-Dist: idna==3.11; extra == "requests"
22
22
  Requires-Dist: urllib3==2.5.0; extra == "requests"
23
- Requires-Dist: requests==2.32.4; extra == "requests"
23
+ Requires-Dist: requests==2.32.5; extra == "requests"
24
24
  Provides-Extra: firestore
25
- Requires-Dist: certifi==2025.01.31; extra == "firestore"
25
+ Requires-Dist: certifi==2025.10.5; extra == "firestore"
26
26
  Requires-Dist: charset-normalizer==3.3.2; extra == "firestore"
27
27
  Requires-Dist: idna==3.6; extra == "firestore"
28
28
  Requires-Dist: urllib3==2.5.0; extra == "firestore"
@@ -41,10 +41,10 @@ Requires-Dist: proto-plus==1.23.0; extra == "firestore"
41
41
  Requires-Dist: protobuf==4.25.8; extra == "firestore"
42
42
  Requires-Dist: google-cloud-firestore==2.15.0; extra == "firestore"
43
43
  Provides-Extra: redis
44
- Requires-Dist: hiredis==3.2.1; extra == "redis"
45
- Requires-Dist: redis==6.4.0; extra == "redis"
44
+ Requires-Dist: hiredis==3.3.0; extra == "redis"
45
+ Requires-Dist: redis==7.0.0; extra == "redis"
46
46
  Provides-Extra: tasks
47
- Requires-Dist: certifi==2025.01.31; extra == "tasks"
47
+ Requires-Dist: certifi==2025.10.5; extra == "tasks"
48
48
  Requires-Dist: charset-normalizer==3.3.2; extra == "tasks"
49
49
  Requires-Dist: idna==3.6; extra == "tasks"
50
50
  Requires-Dist: urllib3==2.5.0; extra == "tasks"
@@ -74,35 +74,32 @@ Requires-Dist: flask==3.0.3; extra == "flask"
74
74
  Provides-Extra: starlette
75
75
  Requires-Dist: idna==3.10; extra == "starlette"
76
76
  Requires-Dist: sniffio==1.3.1; extra == "starlette"
77
- Requires-Dist: typing-extensions==4.14.1; extra == "starlette"
77
+ Requires-Dist: typing-extensions==4.15.0; extra == "starlette"
78
78
  Requires-Dist: anyio==4.9.0; extra == "starlette"
79
- Requires-Dist: certifi==2025.7.14; extra == "starlette"
79
+ Requires-Dist: certifi==2025.10.5; extra == "starlette"
80
80
  Requires-Dist: h11==0.16.0; extra == "starlette"
81
81
  Requires-Dist: httpcore==1.0.9; extra == "starlette"
82
82
  Requires-Dist: hpack==4.1.0; extra == "starlette"
83
83
  Requires-Dist: hyperframe==6.1.0; extra == "starlette"
84
- Requires-Dist: h2==4.2.0; extra == "starlette"
84
+ Requires-Dist: h2==4.3.0; extra == "starlette"
85
85
  Requires-Dist: httpx==0.28.1; extra == "starlette"
86
86
  Requires-Dist: MarkupSafe==3.0.2; extra == "starlette"
87
87
  Requires-Dist: jinja2==3.1.6; extra == "starlette"
88
88
  Requires-Dist: itsdangerous==2.2.0; extra == "starlette"
89
89
  Requires-Dist: python-multipart==0.0.20; extra == "starlette"
90
- Requires-Dist: pyyaml==6.0.2; extra == "starlette"
91
- Requires-Dist: uvloop==0.21.0; extra == "starlette"
92
- Requires-Dist: starlette==0.47.2; extra == "starlette"
93
- Requires-Dist: click==8.2.1; extra == "starlette"
94
- Requires-Dist: uvicorn==0.35.0; extra == "starlette"
90
+ Requires-Dist: pyyaml==6.0.3; extra == "starlette"
91
+ Requires-Dist: starlette==0.49.1; extra == "starlette"
95
92
  Provides-Extra: httpx
96
93
  Requires-Dist: idna==3.10; extra == "httpx"
97
94
  Requires-Dist: sniffio==1.3.1; extra == "httpx"
98
- Requires-Dist: typing-extensions==4.14.1; extra == "httpx"
95
+ Requires-Dist: typing-extensions==4.15.0; extra == "httpx"
99
96
  Requires-Dist: anyio==4.9.0; extra == "httpx"
100
- Requires-Dist: certifi==2025.7.14; extra == "httpx"
97
+ Requires-Dist: certifi==2025.10.5; extra == "httpx"
101
98
  Requires-Dist: h11==0.16.0; extra == "httpx"
102
99
  Requires-Dist: httpcore==1.0.9; extra == "httpx"
103
100
  Requires-Dist: hpack==4.1.0; extra == "httpx"
104
101
  Requires-Dist: hyperframe==6.1.0; extra == "httpx"
105
- Requires-Dist: h2==4.2.0; extra == "httpx"
102
+ Requires-Dist: h2==4.3.0; extra == "httpx"
106
103
  Requires-Dist: httpx==0.28.1; extra == "httpx"
107
104
  Provides-Extra: paramiko
108
105
  Requires-Dist: bcrypt==4.2.0; extra == "paramiko"
@@ -118,7 +115,7 @@ Requires-Dist: lark==1.2.2; extra == "expression"
118
115
  Requires-Dist: numpy==1.26.4; extra == "expression"
119
116
  Requires-Dist: pandas==2.1.4; extra == "expression"
120
117
  Provides-Extra: postgresql
121
- Requires-Dist: psqlpy==0.11.8; extra == "postgresql"
118
+ Requires-Dist: psqlpy==0.11.9; extra == "postgresql"
122
119
  Dynamic: license-file
123
120
 
124
121
 
@@ -102,6 +102,7 @@ src/everysk/sdk/entities/private_security/settings.py
102
102
  src/everysk/sdk/entities/report/base.py
103
103
  src/everysk/sdk/entities/report/settings.py
104
104
  src/everysk/sdk/entities/secrets/base.py
105
+ src/everysk/sdk/entities/secrets/script.py
105
106
  src/everysk/sdk/entities/secrets/settings.py
106
107
  src/everysk/sdk/entities/worker_execution/base.py
107
108
  src/everysk/sdk/entities/worker_execution/settings.py
@@ -1,6 +1,6 @@
1
1
  python-dateutil==2.8.2
2
2
  holidays==0.51
3
- tzdata==2024.1
3
+ tzdata==2025.2
4
4
 
5
5
  [everysk-orjson]
6
6
  everysk-orjson==3.11.3
@@ -11,7 +11,7 @@ numpy==1.26.4
11
11
  pandas==2.1.4
12
12
 
13
13
  [firestore]
14
- certifi==2025.01.31
14
+ certifi==2025.10.5
15
15
  charset-normalizer==3.3.2
16
16
  idna==3.6
17
17
  urllib3==2.5.0
@@ -42,14 +42,14 @@ flask==3.0.3
42
42
  [httpx]
43
43
  idna==3.10
44
44
  sniffio==1.3.1
45
- typing-extensions==4.14.1
45
+ typing-extensions==4.15.0
46
46
  anyio==4.9.0
47
- certifi==2025.7.14
47
+ certifi==2025.10.5
48
48
  h11==0.16.0
49
49
  httpcore==1.0.9
50
50
  hpack==4.1.0
51
51
  hyperframe==6.1.0
52
- h2==4.2.0
52
+ h2==4.3.0
53
53
  httpx==0.28.1
54
54
 
55
55
  [paramiko]
@@ -61,43 +61,40 @@ pynacl==1.5.0
61
61
  paramiko==3.5.0
62
62
 
63
63
  [postgresql]
64
- psqlpy==0.11.8
64
+ psqlpy==0.11.9
65
65
 
66
66
  [redis]
67
- hiredis==3.2.1
68
- redis==6.4.0
67
+ hiredis==3.3.0
68
+ redis==7.0.0
69
69
 
70
70
  [requests]
71
- certifi==2025.01.31
72
- charset-normalizer==3.3.2
73
- idna==3.6
71
+ certifi==2025.10.5
72
+ charset_normalizer==3.4.4
73
+ idna==3.11
74
74
  urllib3==2.5.0
75
- requests==2.32.4
75
+ requests==2.32.5
76
76
 
77
77
  [starlette]
78
78
  idna==3.10
79
79
  sniffio==1.3.1
80
- typing-extensions==4.14.1
80
+ typing-extensions==4.15.0
81
81
  anyio==4.9.0
82
- certifi==2025.7.14
82
+ certifi==2025.10.5
83
83
  h11==0.16.0
84
84
  httpcore==1.0.9
85
85
  hpack==4.1.0
86
86
  hyperframe==6.1.0
87
- h2==4.2.0
87
+ h2==4.3.0
88
88
  httpx==0.28.1
89
89
  MarkupSafe==3.0.2
90
90
  jinja2==3.1.6
91
91
  itsdangerous==2.2.0
92
92
  python-multipart==0.0.20
93
- pyyaml==6.0.2
94
- uvloop==0.21.0
95
- starlette==0.47.2
96
- click==8.2.1
97
- uvicorn==0.35.0
93
+ pyyaml==6.0.3
94
+ starlette==0.49.1
98
95
 
99
96
  [tasks]
100
- certifi==2025.01.31
97
+ certifi==2025.10.5
101
98
  charset-normalizer==3.3.2
102
99
  idna==3.6
103
100
  urllib3==2.5.0
File without changes
File without changes
File without changes
File without changes
File without changes