everysk-lib 1.10.2__cp312-cp312-win_amd64.whl

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 (137) hide show
  1. everysk/__init__.py +30 -0
  2. everysk/_version.py +683 -0
  3. everysk/api/__init__.py +61 -0
  4. everysk/api/api_requestor.py +167 -0
  5. everysk/api/api_resources/__init__.py +23 -0
  6. everysk/api/api_resources/api_resource.py +371 -0
  7. everysk/api/api_resources/calculation.py +779 -0
  8. everysk/api/api_resources/custom_index.py +42 -0
  9. everysk/api/api_resources/datastore.py +81 -0
  10. everysk/api/api_resources/file.py +42 -0
  11. everysk/api/api_resources/market_data.py +223 -0
  12. everysk/api/api_resources/parser.py +66 -0
  13. everysk/api/api_resources/portfolio.py +43 -0
  14. everysk/api/api_resources/private_security.py +42 -0
  15. everysk/api/api_resources/report.py +65 -0
  16. everysk/api/api_resources/report_template.py +39 -0
  17. everysk/api/api_resources/tests.py +115 -0
  18. everysk/api/api_resources/worker_execution.py +64 -0
  19. everysk/api/api_resources/workflow.py +65 -0
  20. everysk/api/api_resources/workflow_execution.py +93 -0
  21. everysk/api/api_resources/workspace.py +42 -0
  22. everysk/api/http_client.py +63 -0
  23. everysk/api/tests.py +32 -0
  24. everysk/api/utils.py +262 -0
  25. everysk/config.py +451 -0
  26. everysk/core/_tests/serialize/test_json.py +336 -0
  27. everysk/core/_tests/serialize/test_orjson.py +295 -0
  28. everysk/core/_tests/serialize/test_pickle.py +48 -0
  29. everysk/core/cloud_function/main.py +78 -0
  30. everysk/core/cloud_function/tests.py +86 -0
  31. everysk/core/compress.py +245 -0
  32. everysk/core/datetime/__init__.py +12 -0
  33. everysk/core/datetime/calendar.py +144 -0
  34. everysk/core/datetime/date.py +424 -0
  35. everysk/core/datetime/date_expression.py +299 -0
  36. everysk/core/datetime/date_mixin.py +1475 -0
  37. everysk/core/datetime/date_settings.py +30 -0
  38. everysk/core/datetime/datetime.py +713 -0
  39. everysk/core/exceptions.py +435 -0
  40. everysk/core/fields.py +1176 -0
  41. everysk/core/firestore.py +555 -0
  42. everysk/core/fixtures/_settings.py +29 -0
  43. everysk/core/fixtures/other/_settings.py +18 -0
  44. everysk/core/fixtures/user_agents.json +88 -0
  45. everysk/core/http.py +691 -0
  46. everysk/core/lists.py +92 -0
  47. everysk/core/log.py +709 -0
  48. everysk/core/number.py +37 -0
  49. everysk/core/object.py +1469 -0
  50. everysk/core/redis.py +1021 -0
  51. everysk/core/retry.py +51 -0
  52. everysk/core/serialize.py +674 -0
  53. everysk/core/sftp.py +414 -0
  54. everysk/core/signing.py +53 -0
  55. everysk/core/slack.py +127 -0
  56. everysk/core/string.py +199 -0
  57. everysk/core/tests.py +240 -0
  58. everysk/core/threads.py +199 -0
  59. everysk/core/undefined.py +70 -0
  60. everysk/core/unittests.py +73 -0
  61. everysk/core/workers.py +241 -0
  62. everysk/sdk/__init__.py +23 -0
  63. everysk/sdk/base.py +98 -0
  64. everysk/sdk/brutils/cnpj.py +391 -0
  65. everysk/sdk/brutils/cnpj_pd.py +129 -0
  66. everysk/sdk/engines/__init__.py +26 -0
  67. everysk/sdk/engines/cache.py +185 -0
  68. everysk/sdk/engines/compliance.py +37 -0
  69. everysk/sdk/engines/cryptography.py +69 -0
  70. everysk/sdk/engines/expression.cp312-win_amd64.pyd +0 -0
  71. everysk/sdk/engines/expression.pyi +55 -0
  72. everysk/sdk/engines/helpers.cp312-win_amd64.pyd +0 -0
  73. everysk/sdk/engines/helpers.pyi +26 -0
  74. everysk/sdk/engines/lock.py +120 -0
  75. everysk/sdk/engines/market_data.py +244 -0
  76. everysk/sdk/engines/settings.py +19 -0
  77. everysk/sdk/entities/__init__.py +23 -0
  78. everysk/sdk/entities/base.py +784 -0
  79. everysk/sdk/entities/base_list.py +131 -0
  80. everysk/sdk/entities/custom_index/base.py +209 -0
  81. everysk/sdk/entities/custom_index/settings.py +29 -0
  82. everysk/sdk/entities/datastore/base.py +160 -0
  83. everysk/sdk/entities/datastore/settings.py +17 -0
  84. everysk/sdk/entities/fields.py +375 -0
  85. everysk/sdk/entities/file/base.py +215 -0
  86. everysk/sdk/entities/file/settings.py +63 -0
  87. everysk/sdk/entities/portfolio/base.py +248 -0
  88. everysk/sdk/entities/portfolio/securities.py +241 -0
  89. everysk/sdk/entities/portfolio/security.py +580 -0
  90. everysk/sdk/entities/portfolio/settings.py +97 -0
  91. everysk/sdk/entities/private_security/base.py +226 -0
  92. everysk/sdk/entities/private_security/settings.py +17 -0
  93. everysk/sdk/entities/query.py +603 -0
  94. everysk/sdk/entities/report/base.py +214 -0
  95. everysk/sdk/entities/report/settings.py +23 -0
  96. everysk/sdk/entities/script.py +310 -0
  97. everysk/sdk/entities/secrets/base.py +128 -0
  98. everysk/sdk/entities/secrets/script.py +119 -0
  99. everysk/sdk/entities/secrets/settings.py +17 -0
  100. everysk/sdk/entities/settings.py +48 -0
  101. everysk/sdk/entities/tags.py +174 -0
  102. everysk/sdk/entities/worker_execution/base.py +307 -0
  103. everysk/sdk/entities/worker_execution/settings.py +63 -0
  104. everysk/sdk/entities/workflow_execution/base.py +113 -0
  105. everysk/sdk/entities/workflow_execution/settings.py +32 -0
  106. everysk/sdk/entities/workspace/base.py +99 -0
  107. everysk/sdk/entities/workspace/settings.py +27 -0
  108. everysk/sdk/settings.py +67 -0
  109. everysk/sdk/tests.py +105 -0
  110. everysk/sdk/worker_base.py +47 -0
  111. everysk/server/__init__.py +9 -0
  112. everysk/server/applications.py +63 -0
  113. everysk/server/endpoints.py +516 -0
  114. everysk/server/example_api.py +69 -0
  115. everysk/server/middlewares.py +80 -0
  116. everysk/server/requests.py +62 -0
  117. everysk/server/responses.py +119 -0
  118. everysk/server/routing.py +64 -0
  119. everysk/server/settings.py +36 -0
  120. everysk/server/tests.py +36 -0
  121. everysk/settings.py +98 -0
  122. everysk/sql/__init__.py +9 -0
  123. everysk/sql/connection.py +232 -0
  124. everysk/sql/model.py +376 -0
  125. everysk/sql/query.py +417 -0
  126. everysk/sql/row_factory.py +63 -0
  127. everysk/sql/settings.py +49 -0
  128. everysk/sql/utils.py +129 -0
  129. everysk/tests.py +23 -0
  130. everysk/utils.py +81 -0
  131. everysk/version.py +15 -0
  132. everysk_lib-1.10.2.dist-info/.gitignore +5 -0
  133. everysk_lib-1.10.2.dist-info/METADATA +326 -0
  134. everysk_lib-1.10.2.dist-info/RECORD +137 -0
  135. everysk_lib-1.10.2.dist-info/WHEEL +5 -0
  136. everysk_lib-1.10.2.dist-info/licenses/LICENSE.txt +9 -0
  137. everysk_lib-1.10.2.dist-info/top_level.txt +2 -0
everysk/utils.py ADDED
@@ -0,0 +1,81 @@
1
+ ###############################################################################
2
+ #
3
+ # (C) Copyright 2023 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
+ from typing import Any, Generator
11
+
12
+ ###############################################################################
13
+ # Public functions Implementation
14
+ ###############################################################################
15
+ def bool_convert(value: Any) -> bool:
16
+ """
17
+ Convert any of these to True: 'y', 'yes', 'true', 'on', '1'
18
+ Convert any of these to Fale: 'n', 'no', 'false', 'off', '0'
19
+
20
+ Args:
21
+ value (Any): The value to be converted to a boolean
22
+
23
+ Returns:
24
+ Boolean: indicating if the value is either True or False
25
+
26
+ Raises:
27
+ ValueError: if value is none of these presented above.
28
+
29
+ Example:
30
+ >>> from everysk.utils import bool_convert
31
+ >>> bool_convert('y')
32
+ >>> True
33
+
34
+ >>> bool_convert('n')
35
+ >>> False
36
+
37
+ >>> bool_convert('a')
38
+ >>> ValueError: Invalid truth value 'a'
39
+ """
40
+ value = str(value).lower()
41
+ if value in ('y', 'yes', 'true', 'on', '1'):
42
+ value = True
43
+ elif value in ('n', 'no', 'false', 'off', '0'):
44
+ value = False
45
+ else:
46
+ raise ValueError(f"Invalid truth value '{value}'.")
47
+
48
+ return value
49
+
50
+ def search_key_on_dict(search_key: str, value: Any) -> Generator:
51
+ """
52
+ Search for key recursive on value.
53
+ The first value need to be a dict for this function work properly.
54
+
55
+ Args:
56
+ search_key (str): The key that must be found.
57
+ value (Any): The item where the key must be found.
58
+
59
+ Yields:
60
+ Generator: The generator with all corresponding values found by the key.
61
+
62
+ Example:
63
+ >>> from everysk.utils import search_key_on_dict
64
+ >>> data = {
65
+ >>> ... "name" : "John Doe",
66
+ >>> ... "age" : 32
67
+ >>> }
68
+ >>> search_key_on_dict("name", data)
69
+ >>> John Doe
70
+ """
71
+ if hasattr(value, 'items'):
72
+ for key, val in value.items():
73
+ if key == search_key:
74
+ yield val
75
+ if isinstance(val, dict):
76
+ for result in search_key_on_dict(search_key, val):
77
+ yield result
78
+ elif isinstance(val, list):
79
+ for item in val:
80
+ for result in search_key_on_dict(search_key, item):
81
+ yield result
everysk/version.py ADDED
@@ -0,0 +1,15 @@
1
+ ###############################################################################
2
+ #
3
+ # (C) Copyright 2023 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
+ from typing import Final, LiteralString
11
+
12
+ __all__ = ("__version__", "version")
13
+ # the version will be changed on build
14
+ version: Final[LiteralString] = "$VERSION"
15
+ __version__: Final[LiteralString] = version
@@ -0,0 +1,5 @@
1
+ # https://stackoverflow.com/a/932982
2
+ # To ignore all content in this folder, because here will be the credentials
3
+ *
4
+ # Except this file for git keep track of this empty dir
5
+ !.gitignore
@@ -0,0 +1,326 @@
1
+ Metadata-Version: 2.4
2
+ Name: everysk-lib
3
+ Version: 1.10.2
4
+ Summary: Generic lib to share python code on Everysk.
5
+ License-Expression: LicenseRef-Proprietary
6
+ Project-URL: Homepage, https://everysk.com/
7
+ Keywords: python,development,lib
8
+ Classifier: Development Status :: 5 - Production/Stable
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Topic :: Software Development :: Build Tools
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Requires-Python: >=3.11
13
+ Description-Content-Type: text/markdown
14
+ License-File: LICENSE.txt
15
+ Requires-Dist: python-dateutil<=3.0.0,>=2.8.2
16
+ Requires-Dist: holidays==0.51
17
+ Requires-Dist: tzdata<=2025.2,>=2024.1
18
+ Provides-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
+ Requires-Dist: urllib3==2.6.3; extra == "requests"
23
+ Requires-Dist: requests==2.32.5; extra == "requests"
24
+ Provides-Extra: firestore
25
+ Requires-Dist: certifi==2025.10.5; extra == "firestore"
26
+ Requires-Dist: charset-normalizer==3.3.2; extra == "firestore"
27
+ Requires-Dist: idna==3.6; extra == "firestore"
28
+ Requires-Dist: urllib3==2.6.3; extra == "firestore"
29
+ Requires-Dist: requests==2.32.4; extra == "firestore"
30
+ Requires-Dist: pyasn1==0.5.1; extra == "firestore"
31
+ Requires-Dist: pyasn1-modules==0.3.0; extra == "firestore"
32
+ Requires-Dist: cachetools==5.3.2; extra == "firestore"
33
+ Requires-Dist: rsa==4.9; extra == "firestore"
34
+ Requires-Dist: google-auth==2.28.1; extra == "firestore"
35
+ Requires-Dist: googleapis-common-protos==1.62.0; extra == "firestore"
36
+ Requires-Dist: grpcio==1.60.1; extra == "firestore"
37
+ Requires-Dist: grpcio-status==1.60.1; extra == "firestore"
38
+ Requires-Dist: google-api-core[grpc]==2.17.1; extra == "firestore"
39
+ Requires-Dist: google-cloud-core==2.4.1; extra == "firestore"
40
+ Requires-Dist: proto-plus==1.23.0; extra == "firestore"
41
+ Requires-Dist: protobuf==4.25.8; extra == "firestore"
42
+ Requires-Dist: google-cloud-firestore==2.15.0; extra == "firestore"
43
+ Provides-Extra: redis
44
+ Requires-Dist: hiredis==3.3.0; extra == "redis"
45
+ Requires-Dist: redis==7.0.0; extra == "redis"
46
+ Provides-Extra: tasks
47
+ Requires-Dist: certifi==2025.10.5; extra == "tasks"
48
+ Requires-Dist: charset-normalizer==3.3.2; extra == "tasks"
49
+ Requires-Dist: idna==3.6; extra == "tasks"
50
+ Requires-Dist: urllib3==2.6.3; extra == "tasks"
51
+ Requires-Dist: requests==2.32.4; extra == "tasks"
52
+ Requires-Dist: pyasn1==0.5.1; extra == "tasks"
53
+ Requires-Dist: pyasn1-modules==0.3.0; extra == "tasks"
54
+ Requires-Dist: cachetools==5.3.2; extra == "tasks"
55
+ Requires-Dist: rsa==4.9; extra == "tasks"
56
+ Requires-Dist: google-auth==2.28.1; extra == "tasks"
57
+ Requires-Dist: googleapis-common-protos==1.62.0; extra == "tasks"
58
+ Requires-Dist: grpcio==1.60.1; extra == "tasks"
59
+ Requires-Dist: grpcio-status==1.60.1; extra == "tasks"
60
+ Requires-Dist: google-api-core[grpc]==2.17.1; extra == "tasks"
61
+ Requires-Dist: google-cloud-core==2.4.1; extra == "tasks"
62
+ Requires-Dist: proto-plus==1.23.0; extra == "tasks"
63
+ Requires-Dist: protobuf==4.25.8; extra == "tasks"
64
+ Requires-Dist: grpc-google-iam-v1==0.13.0; extra == "tasks"
65
+ Requires-Dist: google-cloud-tasks==2.16.1; extra == "tasks"
66
+ Provides-Extra: flask
67
+ Requires-Dist: MarkupSafe==2.1.5; extra == "flask"
68
+ Requires-Dist: blinker==1.8.2; extra == "flask"
69
+ Requires-Dist: click==8.1.7; extra == "flask"
70
+ Requires-Dist: itsdangerous==2.2.0; extra == "flask"
71
+ Requires-Dist: Jinja2==3.1.6; extra == "flask"
72
+ Requires-Dist: Werkzeug==3.0.3; extra == "flask"
73
+ Requires-Dist: flask==3.0.3; extra == "flask"
74
+ Provides-Extra: starlette
75
+ Requires-Dist: idna==3.10; extra == "starlette"
76
+ Requires-Dist: sniffio==1.3.1; extra == "starlette"
77
+ Requires-Dist: typing-extensions==4.15.0; extra == "starlette"
78
+ Requires-Dist: anyio==4.9.0; extra == "starlette"
79
+ Requires-Dist: certifi==2025.10.5; extra == "starlette"
80
+ Requires-Dist: h11==0.16.0; extra == "starlette"
81
+ Requires-Dist: httpcore==1.0.9; extra == "starlette"
82
+ Requires-Dist: hpack==4.1.0; extra == "starlette"
83
+ Requires-Dist: hyperframe==6.1.0; extra == "starlette"
84
+ Requires-Dist: h2==4.3.0; extra == "starlette"
85
+ Requires-Dist: httpx==0.28.1; extra == "starlette"
86
+ Requires-Dist: MarkupSafe==3.0.2; extra == "starlette"
87
+ Requires-Dist: jinja2==3.1.6; extra == "starlette"
88
+ Requires-Dist: itsdangerous==2.2.0; extra == "starlette"
89
+ Requires-Dist: python-multipart==0.0.20; extra == "starlette"
90
+ Requires-Dist: pyyaml==6.0.3; extra == "starlette"
91
+ Requires-Dist: starlette==0.49.1; extra == "starlette"
92
+ Provides-Extra: httpx
93
+ Requires-Dist: idna==3.10; extra == "httpx"
94
+ Requires-Dist: sniffio==1.3.1; extra == "httpx"
95
+ Requires-Dist: typing-extensions==4.15.0; extra == "httpx"
96
+ Requires-Dist: anyio==4.9.0; extra == "httpx"
97
+ Requires-Dist: certifi==2025.10.5; extra == "httpx"
98
+ Requires-Dist: h11==0.16.0; extra == "httpx"
99
+ Requires-Dist: httpcore==1.0.9; extra == "httpx"
100
+ Requires-Dist: hpack==4.1.0; extra == "httpx"
101
+ Requires-Dist: hyperframe==6.1.0; extra == "httpx"
102
+ Requires-Dist: h2==4.3.0; extra == "httpx"
103
+ Requires-Dist: httpx==0.28.1; extra == "httpx"
104
+ Provides-Extra: paramiko
105
+ Requires-Dist: bcrypt==4.2.0; extra == "paramiko"
106
+ Requires-Dist: pycparser==2.22; extra == "paramiko"
107
+ Requires-Dist: cffi==2.0.0; extra == "paramiko"
108
+ Requires-Dist: cryptography==44.0.1; extra == "paramiko"
109
+ Requires-Dist: pynacl==1.6.2; extra == "paramiko"
110
+ Requires-Dist: paramiko==3.5.0; extra == "paramiko"
111
+ Provides-Extra: everysk-orjson
112
+ Requires-Dist: everysk-orjson==3.11.3; extra == "everysk-orjson"
113
+ Provides-Extra: expression
114
+ Requires-Dist: lark==1.2.2; extra == "expression"
115
+ Requires-Dist: numpy==1.26.4; extra == "expression"
116
+ Requires-Dist: pandas==2.1.4; extra == "expression"
117
+ Provides-Extra: postgresql
118
+ Requires-Dist: psycopg-binary==3.3.0; extra == "postgresql"
119
+ Requires-Dist: psycopg-pool==3.3.0; extra == "postgresql"
120
+ Requires-Dist: psycopg==3.3.0; extra == "postgresql"
121
+ Dynamic: license-file
122
+
123
+
124
+ # Everysk Library
125
+
126
+ | | |
127
+ | --- | --- |
128
+ | Testing | [![CI - Test](https://github.com/Everysk/everysk-lib/actions/workflows/coverage.yml/badge.svg)](https://github.com/Everysk/everysk-lib/actions/workflows/coverage.yml) [![Security Checks](https://github.com/Everysk/everysk-lib/actions/workflows/security-checks.yml/badge.svg)](https://github.com/Everysk/everysk-lib/actions/workflows/security-checks.yml) |
129
+ | Package | [![PyPI Latest Release](https://img.shields.io/pypi/v/everysk-lib.svg)](https://pypi.org/project/everysk-lib/) |
130
+
131
+
132
+
133
+ The **Everysk Library** is a one-stop solution designed to help our teams and partners streamline workflows and maximize productivity.
134
+
135
+ Many projects at Everysk rely on multiple **endpoints**, **engines**, and **utilities** to automate workflows, handle entities such as portfolios, datastores, reports, and files, and perform complex calculations. Adopting and maintaining each of these components individually can be both time-consuming and expensive.
136
+
137
+ To address this challenge, Everysk developed the Everysk Library: a unified Python library that bundles these capabilities into a single, convenient package.
138
+
139
+ By consolidating essential functionalities — ranging from portfolio creation to workflow automation — Everysk Lib greatly simplifies implementation and ongoing maintenance. This all-in-one toolkit ensures you have everything you need to build powerful, scalable solutions across a variety of Everysk projects.
140
+
141
+ <br>
142
+
143
+ ## Table of Contents
144
+
145
+ - [Module Structure](#module-structure)
146
+ - [Installation](#installation)
147
+ - [Running Tests](#running-tests)
148
+ - [Running Tests with coverage](#running-tests-with-coverage)
149
+ - [Contributing](#contributing)
150
+ - [License](#license)
151
+
152
+ ## Module Structure
153
+
154
+ Below we have the main directories that you will be working with.
155
+
156
+ ```mermaid
157
+ flowchart TB
158
+ EveryskLibrary(["Everysk Library"])
159
+ SDKDir(["sdk"])
160
+ CoreDir(["core"])
161
+ ServerDir(["server"])
162
+ ApiDir(["api"])
163
+ EveryskLibrary --> SDKDir
164
+ EveryskLibrary --> CoreDir
165
+ EveryskLibrary --> ServerDir
166
+ EveryskLibrary --> ApiDir
167
+ ```
168
+
169
+ <br>
170
+
171
+ ## Installation
172
+
173
+ To install the **Everysk library**, you will need to use pip's `install` command:
174
+
175
+ ```bash
176
+ pip install everysk-lib
177
+ ```
178
+
179
+ ### Verifying the Installation
180
+
181
+ After installing the library, it's a good practice to verify if the installation was successful. Here is how to achieve this:
182
+
183
+ #### 1. Open a terminal
184
+
185
+ #### 2. Start the Python interpreter by typing `python` and pressing `Enter`
186
+
187
+ #### 3. In the Python interpreter, type the following command then press `Enter`:
188
+
189
+ ```python
190
+ import everysk
191
+ ```
192
+
193
+ If the library has been installed correctly, this command should complete without any errors. If the library is not installed or there's a problem with the installation, Python will raise a `ModuleNotFoundError`
194
+
195
+ <br>
196
+
197
+ ## Documentation
198
+
199
+ The main documentation of the Everysk Library can be founded here: [Everysk Library Documentation](docs/README.md)
200
+
201
+ <br>
202
+
203
+ ## Running Tests
204
+
205
+ This section provides instructions on how to run tests for the project. There are two scenarios, the first one is running tests in a development environment and the second one is running tests after the library has been installed from PyPI.
206
+
207
+ ### Running Tests in Development Environment
208
+
209
+ In a development environment you can use the provided shell script to run the tests. The script sets up the necessary environment and then run the tests. To execute the tests, open a bash terminal and run the following command.
210
+
211
+ ```bash
212
+ ./run.sh tests
213
+ ```
214
+
215
+ ### Running Tests After the Library is Installed
216
+
217
+ After the library has been installed in your project from PyPI, you can start running tests using Python's built-in unittest module. To run tests use the following command:
218
+
219
+
220
+ ```bash
221
+ python3 -m unittest everysk.core.tests
222
+ ```
223
+
224
+ The command uses Python's unittest module as mentioned above as a script, which then runs the test in the `everysk.core.tests` package.
225
+
226
+ <br>
227
+
228
+ ## Running Tests with coverage
229
+
230
+ Code coverage us a way of measuring how many lines of code are executed while the automated tests are running.
231
+
232
+ To run tests along with a coverage report, you can use the provided shell script. The script will not only run the tests but also generate a coverage report that shows the percentage of code that was executed during the tests.
233
+
234
+ This is useful to identify sections of your code that are not being tested and may need additional tests.
235
+
236
+ #### 1. Open a terminal in your Visual Studio Code environment.
237
+
238
+ #### 2. Run the following command.
239
+
240
+ ```bash
241
+ ./run.sh coverage
242
+ ```
243
+
244
+ This command executes the `run.sh` script with the `coverage` argument. The report will be displayed in the terminal after the script completed the tests.
245
+
246
+ **Remember:** a high coverage percentage is generally good, but 100% coverage does not ensures that your code is free from bugs or any other problem that might occur in your code. The full coverage just means that all the lines in your code were executed during the tests.
247
+
248
+ <br>
249
+
250
+ ## Contributing
251
+
252
+ Contributions are always welcome and greatly appreciated!
253
+
254
+ Go to the repository [link](https://github.com/Everysk/everysk-lib) and click on the `Fork` button to create your own copy of the everysk library.
255
+
256
+ Then clone the project in your own local machine by running the command below or using the **GitHub Desktop**.
257
+
258
+ ```bash
259
+ git clone https://github.com/<your-username>/everysk-lib.git everysk-yourusername
260
+ ```
261
+
262
+ This section creates a directory called `everysk-yourusername` to center all your code.
263
+
264
+ After that you can change the directory by:
265
+
266
+ ```bash
267
+ cd everysk-yourusername
268
+ ```
269
+
270
+ Create the **upstream** repository which will refer to the main repository that you just forked.
271
+
272
+ ```bash
273
+ git remote add upstream https://github.com/Everysk/everysk-lib.git
274
+ ```
275
+
276
+ Now run the following commands to make sure that your clone is up-to-date with main everysk repository
277
+
278
+ ```bash
279
+ git checkout main
280
+ git pull upstream main
281
+ ```
282
+
283
+ Shortly after, create a new branch to add your code
284
+
285
+ ```bash
286
+ git checkout -b brand-new-feature
287
+ ```
288
+
289
+ The command above will automatically switch to this newly created branch. At this moment your are able to make your modifications to the code and commit locally as you progress.
290
+
291
+ After all the code changes, you can submit your contribution by pushing the changes to your fork on GitHub:
292
+
293
+ ```bash
294
+ git push origin brand-new-feature
295
+ ```
296
+
297
+ The command above ensures that all the modifications that you've made are up-to-date with your current branch.
298
+
299
+ At the end of this process you will need to make a **Pull Request** to the main branch.
300
+
301
+ To achieve this, go to the GitHub page of the project and click on the `Pull requests` tab, then click on `New pull request` button.
302
+
303
+ This will open a new section used to compare branches, now choose your branch for merging into the main branch and hit the `Create pull request` button.
304
+
305
+ <br>
306
+
307
+ ## License
308
+
309
+ (C) Copyright 2025 EVERYSK TECHNOLOGIES
310
+
311
+ This is an unpublished work containing confidential and proprietary
312
+ information of EVERYSK TECHNOLOGIES. Disclosure, use, or reproduction
313
+ without authorization of EVERYSK TECHNOLOGIES is prohibited.
314
+
315
+ Date: Jan 2025
316
+
317
+ Contact: contact@everysk.com
318
+
319
+ URL: https://everysk.com/
320
+
321
+
322
+ <br>
323
+ <hr>
324
+ <br>
325
+
326
+ [Back to the top](#everysk-library)
@@ -0,0 +1,137 @@
1
+ everysk/__init__.py,sha256=JeZGK9kmTaBRR6H4et-3UYE6x8D7xsFtrTnJ_tQXG_Q,1039
2
+ everysk/_version.py,sha256=_OPcym8X5j0fiafJLlKp8ADhMP5pHKqD2YySbH9f1PY,24501
3
+ everysk/config.py,sha256=PKwYhzgBUIQ2m_cS5muBRWssZa4I3B6D5Qa9eSqAu18,16653
4
+ everysk/settings.py,sha256=Z_wPLDcAxjd6gW2lH6J8n6Q2j-x3V_AJGJmR5NapzBo,4008
5
+ everysk/tests.py,sha256=MlZ4_IXk639-tyTtmdWWMJD98bPK0eunRFCPZopj2fs,884
6
+ everysk/utils.py,sha256=nejrDn5n75YBk3BinEiDY5JhhdB7BaHX_9wpJ20RvXs,2654
7
+ everysk/version.py,sha256=q8j2yDrdm4lEtGtOIt4tY4TUlctwQYJJcVqscDabikA,617
8
+ everysk/api/__init__.py,sha256=nD4G5flQ8gbgmIVk7Ap-dktnJdiIMj45QnKxMKAPeAA,2250
9
+ everysk/api/api_requestor.py,sha256=CwrHz6fefK3Mmepoy3lU3GjuHqzluT6WyVrn5Yru2s8,5904
10
+ everysk/api/http_client.py,sha256=fatK_bpL5XE_mqF83J8pXqKYSVOVCsDWvAe2XDQTOi0,2441
11
+ everysk/api/tests.py,sha256=XioWMj_E8KXsEnVPvLYJ0Lqq15tPiK5QSFYIPCS5fac,1337
12
+ everysk/api/utils.py,sha256=kjXhJOudf1lnzAG1FGJeCKPcsSkuMApDq4AsnmVrVHM,9121
13
+ everysk/api/api_resources/__init__.py,sha256=1AO8dA1ldznHZhnSQr5Wk2xMgLnGKEH_rmTmpiF-kvE,1267
14
+ everysk/api/api_resources/api_resource.py,sha256=ZkOlg5M_B9vCT0ZA_e73xoPw85R7nfJ2kpl2ubqgq60,14306
15
+ everysk/api/api_resources/calculation.py,sha256=c5DU2aZqPNoM9IECHePZmHXoDvCy9t-HytlBztA7zRw,36405
16
+ everysk/api/api_resources/custom_index.py,sha256=Lk5ms54MLPs-vlKwkw-kyDjyFwsk-AD3OOYa-HHRc48,1382
17
+ everysk/api/api_resources/datastore.py,sha256=ZFXkON1DH6M-Kui6nViwitH7L8vACRq1PKFLr8NtLdM,3250
18
+ everysk/api/api_resources/file.py,sha256=aScRxvEtT71E6mVQyC_A1ngG_dPHR1MUL7jbKSOLnn4,1386
19
+ everysk/api/api_resources/market_data.py,sha256=0PXlkyabvspi6_TuK9BJ1_6oAZld6UEsPSppTeCcDZM,9333
20
+ everysk/api/api_resources/parser.py,sha256=wRmk91IIVOGZlfvjoEEwG91abc7TzxeJwKdtF-NBzoA,2751
21
+ everysk/api/api_resources/portfolio.py,sha256=51_rOn92-tNo28fcryFoQ0Q69iPNK3FN7dE106G3h7c,1501
22
+ everysk/api/api_resources/private_security.py,sha256=xiQJ7Pu_7NGzIieHy_N-M-9hOzn8l80oSgcYximzuYQ,1421
23
+ everysk/api/api_resources/report.py,sha256=FBEh4uEXd_OxE4BJmrQnbC9nBjGGSYt33HsKvQvsVL8,2529
24
+ everysk/api/api_resources/report_template.py,sha256=w2_E5mlID1hX269FFfoyw79sxxzcVe5Mxf7DkLwof7s,1307
25
+ everysk/api/api_resources/tests.py,sha256=vadZLN0oxvY2QbWPJWBCrW_93009_fqLhg0YkklLOhk,5108
26
+ everysk/api/api_resources/worker_execution.py,sha256=F6-b_-MsTz3qc7oylsl-aPWEnLtkH2enzwUKMI8ZHeA,2792
27
+ everysk/api/api_resources/workflow.py,sha256=AvQLgXo_iZZDpTujkBtuxDcEGs_ZgQgkdkFxCQxK8_s,2510
28
+ everysk/api/api_resources/workflow_execution.py,sha256=i2KFfnQaNE1SGZDboJ5Z3UcdADJryNYRBRFq3ygbeW8,4257
29
+ everysk/api/api_resources/workspace.py,sha256=8OsBf7BfQc80COIZbeBz0o4bBCxb-oSfZ7OUPbHM9Ws,1453
30
+ everysk/core/compress.py,sha256=TRk-ME_UYfD5OQyhISYvwAZLT7IYfjbqWHYEgOuyaFU,10858
31
+ everysk/core/exceptions.py,sha256=HTMKauc7vSeP77UqgPGw6rmwhEqWAKcGS0wk4oofgEY,14275
32
+ everysk/core/fields.py,sha256=I_CvDe0NKNW7zbYpy0Pf2ZLIetDl2p2XLxDmmGX7XHg,44209
33
+ everysk/core/firestore.py,sha256=S5NWH9CS0by_Xk19UPX_455nM05Y-UG-rExgQDTf5zY,21567
34
+ everysk/core/http.py,sha256=9aKkh-M3Sfsg0tZLK_BWnmyZ7AuBdACq4pgy_qZSrXI,27171
35
+ everysk/core/lists.py,sha256=Z8ED7r0w-Bl4hLlOVmBaaYdHOnCZvhaigxv9USzZcCQ,3317
36
+ everysk/core/log.py,sha256=qFRW9bO6jaELwrJ0MIaEUm2-uYFIyTbH2bQ3j0XpPio,30239
37
+ everysk/core/number.py,sha256=Al_9LLu7hj_4fTLPTiN3dzQvxctmMxB5i9I4Z4X5Lro,1204
38
+ everysk/core/object.py,sha256=9XMSPDlgLtGTKJLVimRIND4a7U1e_rZrERJGZw2j_lQ,53924
39
+ everysk/core/redis.py,sha256=HrG58dc_3EHnti2sBaijcyN8Hq4u3p1zst6-CSK9ySQ,36664
40
+ everysk/core/retry.py,sha256=wLU0fNKP7cNYKkYxMTjR--YFYM0ahXWP-39O_FObwfo,1897
41
+ everysk/core/serialize.py,sha256=8P5C7V98tB9vAQBEdu0NqMt8lktsD-Ol5REpTG1vNlw,25155
42
+ everysk/core/sftp.py,sha256=01_iDxqhcAO3FFKUp-8myV7qtf3I-Mi_cLZ6KrAfsGw,15600
43
+ everysk/core/signing.py,sha256=vImkFEiunqD-oO3e9Oi88z0x0jEEfO1lDIbC9RYxTn8,1956
44
+ everysk/core/slack.py,sha256=r9QH6RRe74Jz4-8XWLqbYq21msIlsVuC4fr_VUMFZPE,4394
45
+ everysk/core/string.py,sha256=K1BRlRNuhqlI7gdqOi40hjTHuxm1fF-RLqIAwm74eHc,5456
46
+ everysk/core/tests.py,sha256=qrfAfUDmgCvBn99X73fL5MUTo1P33gq0ftP5CTJetCc,14491
47
+ everysk/core/threads.py,sha256=CcL4Nv2Zzdxt1xjo0CbLSttSU29xHgSRiWF_JXr3GAA,7167
48
+ everysk/core/undefined.py,sha256=RrL9QbUjxdDSmVIq08WG5uiY00DQE_n8yEuGaNp2tOU,2745
49
+ everysk/core/unittests.py,sha256=ujGqGHCUAI25P4UgwHn9GpZAMBdqZ-lxxGERrckthIM,3289
50
+ everysk/core/workers.py,sha256=alPhC1hEhI-I1l1Vnt0OrpxPDfi7R-xodo_qjJRVHvk,9037
51
+ everysk/core/_tests/serialize/test_json.py,sha256=zyTtL1pNoP_3MoHBGqkwGBOOCl9n79C34O4TytIc-tk,13279
52
+ everysk/core/_tests/serialize/test_orjson.py,sha256=VSwkwv_omT4D_o38Ldnbw0Mj-hLYQfa0loEwYQ9C5q8,12415
53
+ everysk/core/_tests/serialize/test_pickle.py,sha256=zMha6SBxUCPlnd6_kORpoRR22rgOx0oMlwLgtX3eVp8,1880
54
+ everysk/core/cloud_function/main.py,sha256=6LjmMe-u_j1uCsaoUGh_VYBHdN5lIkQ3ofGQjbu8Dn0,2571
55
+ everysk/core/cloud_function/tests.py,sha256=vSQEJtc7Qxvd1etGNVaPzXKrxm1CF6bkw1hBmc-6W-g,3745
56
+ everysk/core/datetime/__init__.py,sha256=l2kh9_5M3oe63nHgGhD1tHLkG99z_gTQCyx6dCAs1Ec,584
57
+ everysk/core/datetime/calendar.py,sha256=SBpLb-Lr1HPqJSQzXWxeT7FjwgU6S71y_PMdfYeozNw,4414
58
+ everysk/core/datetime/date.py,sha256=SjBAxi7Z46T1PI8J0hsYpLPlm2Aro4IdkXuUx6y39Ps,16843
59
+ everysk/core/datetime/date_expression.py,sha256=Vr69v6xEpFodRfZyJJ-NYo7ysoQGMbrvlYZmNDi_CkA,12970
60
+ everysk/core/datetime/date_mixin.py,sha256=ID7AgYUfDMmrfa9naBxR-mmUNzrpuf3Hi_JGBIFESLA,65856
61
+ everysk/core/datetime/date_settings.py,sha256=WhN8YJFrgFmQeqpos3BQCnehpTkZ4VmZ03jqnrmuyms,977
62
+ everysk/core/datetime/datetime.py,sha256=p2APDVo0qdNsa478dpsxl6nwc7-m3cYyiVZ5Zz16r98,30136
63
+ everysk/core/fixtures/_settings.py,sha256=SfUQJp-0Pp8u8o9YAa8Negj0sx0dxSe9cNhbTVNqTcM,1204
64
+ everysk/core/fixtures/user_agents.json,sha256=XDxTqtyXgE0wdCxv0fLHlbx4DtWQOFPnCvivB6oln18,10361
65
+ everysk/core/fixtures/other/_settings.py,sha256=RODZ0bvGGWWXhdQ05unMoSM5GVlGSCM8lzmjfHjvyeo,822
66
+ everysk/sdk/__init__.py,sha256=29vdTawyABE748i_4wFeavjhed92t9ZXOT2uqriIEmk,974
67
+ everysk/sdk/base.py,sha256=aOhguqj-WfyHYm_qO5G675JdF5iJKf6x0Abt4jYKb_8,3668
68
+ everysk/sdk/settings.py,sha256=S9l3ZwC6jZwTvr_bnQtvwXJSKFsRF7yKj2btptd3abs,3147
69
+ everysk/sdk/tests.py,sha256=pZPSxu2roMCLFWHhnZFCSlA4nv_mFkwqNBkDsVfZ8GU,7611
70
+ everysk/sdk/worker_base.py,sha256=31zDyLtttU25h2kNbwk4yn0tTxHaIc_Ysq5Grm9A9d8,1555
71
+ everysk/sdk/brutils/cnpj.py,sha256=mP_5X1xgnkHb2BP0a5AVUiYmGc3sOhXeQpWwjOoHQEU,13505
72
+ everysk/sdk/brutils/cnpj_pd.py,sha256=4qdRsM49sx0zCOtOkjpppymwvYlrzmx0fOk-xARmuD0,4698
73
+ everysk/sdk/engines/__init__.py,sha256=1v06RoWC4qfxkfUdbQGF3yCuskXjrvbb_yF_6XCpO5E,1153
74
+ everysk/sdk/engines/cache.py,sha256=uCFfBVfEyjHRxTNiPXMFehPWaq8k0DbQ50f40JHt4Qg,6580
75
+ everysk/sdk/engines/compliance.py,sha256=Kd2buYlcKfUHEGmeZrGgT2JOnC7p12UOlDwFS69ssEM,1432
76
+ everysk/sdk/engines/cryptography.py,sha256=y07mfKbNDK86j4CnfmqqdL2KWBf0s6WN7xjuL-iS6g4,2111
77
+ everysk/sdk/engines/expression.cp312-win_amd64.pyd,sha256=pVPus0zNQrikn9sTlz3A09bHcaosHWIikJ-E8_8_c6A,4027904
78
+ everysk/sdk/engines/expression.pyi,sha256=x-PzVPFPkMbs8Y05lMePnbGe9OgJSdjnUUWAj8tnEas,1324
79
+ everysk/sdk/engines/helpers.cp312-win_amd64.pyd,sha256=jInsAtbuB-WZzon6Li13WVum7lm9iyWiZjQixWeM5_E,1008128
80
+ everysk/sdk/engines/helpers.pyi,sha256=CIcomtg79QWisRscba-Trs0X4tOlMT1gxykZjM90KYA,482
81
+ everysk/sdk/engines/lock.py,sha256=rPFY3e2hrKiRyFE0iHAuMad7Cv0KQBJsF9SbZcx43D0,4709
82
+ everysk/sdk/engines/market_data.py,sha256=lyMl_IOAEobFzzo6Jrtxa9ht95BJEmTUR6bXkLGaZLM,9426
83
+ everysk/sdk/engines/settings.py,sha256=xTxOvPLk_4MXO1VzG78Dbawhu4wE7nmXchWoxVF1X0w,1139
84
+ everysk/sdk/entities/__init__.py,sha256=0zk3iqwmcCYtdhxK0LpwPJONRat_F6K2aDmB65xCHJo,983
85
+ everysk/sdk/entities/base.py,sha256=p0oiWs2cUwzop84sE7fuQ5z-ONsuHfkKLj7uZy3LzFs,29298
86
+ everysk/sdk/entities/base_list.py,sha256=1Rg9vmQn99Y2tHX-jb4FuQ7I6hv7pt47iJ9H9f9nT2A,4326
87
+ everysk/sdk/entities/fields.py,sha256=t8W_sMvw7VZpA48HSh_SSW3H1dtF0P6xnZbqELc72xo,13087
88
+ everysk/sdk/entities/query.py,sha256=cCxsAWF01nLXlRHq8RsGoXLlffKf-QaPPfRvf22FPdg,24077
89
+ everysk/sdk/entities/script.py,sha256=_yYsqHgSnEzcmmB9CUJDHPcnlSz8Lgur7I35laqMDIo,14335
90
+ everysk/sdk/entities/settings.py,sha256=9jNyAPQy6vbdcT3-BWpwYjR0oHl104Drzc-h_V__rfA,2336
91
+ everysk/sdk/entities/tags.py,sha256=n_hLlbCvhL6Bl0QlvfU4dSRVvwK-MuvRWa1tt2dL9xk,6189
92
+ everysk/sdk/entities/custom_index/base.py,sha256=bqo1scuCgztWSbcT8YygwV6LwqmJMLvP-edBfWhhkVA,7353
93
+ everysk/sdk/entities/custom_index/settings.py,sha256=UIxh-REVo22yCzF-ZFrAv2csjOaWDNgbzPOQhheEXrA,1473
94
+ everysk/sdk/entities/datastore/base.py,sha256=LjdXQnNC3aLuRq6lzg02B9CLULl_0veGO0vPkaz0kvI,6101
95
+ everysk/sdk/entities/datastore/settings.py,sha256=OpZB-iE5EEYdRUqHFUqB3vOat3g3gbJL_7AJauEVcXo,744
96
+ everysk/sdk/entities/file/base.py,sha256=gInM4XUvW1qxopVf7iDek76pGeo9on4U1gEo_JpGZSw,7951
97
+ everysk/sdk/entities/file/settings.py,sha256=gDTLsbAvVoVdRLoQD1gkDYIJuKZUCdgS0AQv1pilEXM,2198
98
+ everysk/sdk/entities/portfolio/base.py,sha256=cJCmoBWPRh_uf2BWI3p4PXBUNG9oXN4M71hG6b0xaUY,9595
99
+ everysk/sdk/entities/portfolio/securities.py,sha256=xIqUZqKydEwUxKmN4gxwMBAm-tZdMfJV7D4dIjIHr5k,10396
100
+ everysk/sdk/entities/portfolio/security.py,sha256=qrLu1c17GxvYcihH6ShhhU910hNvm7hO90Eg2rr0yBs,23818
101
+ everysk/sdk/entities/portfolio/settings.py,sha256=9D0JGMBpUFnWKfDoFM0PAoPktuPOWCaMlkr_ebqGm7E,3264
102
+ everysk/sdk/entities/private_security/base.py,sha256=nfVEPAhNjw160WMIrvHtdKVtuve0e6-9UNiRPzxVgTo,7860
103
+ everysk/sdk/entities/private_security/settings.py,sha256=Lgcl_olxdUztYrVs7_tQ4WLlZtqk2IgPtdKZfIQ8o-E,875
104
+ everysk/sdk/entities/report/base.py,sha256=QuvGUsp9Ws9M3Lys4WzwBlhmQZEN1fSAbpd2K5YNR9o,8289
105
+ everysk/sdk/entities/report/settings.py,sha256=85ONLliZtH2o033RMAC-gtBPzCEvmquBu5Se1GJGkss,1023
106
+ everysk/sdk/entities/secrets/base.py,sha256=On9tvQFQN4sENArlABKktc3mqx4kynaVpxCnuYAi5Bk,4410
107
+ everysk/sdk/entities/secrets/script.py,sha256=kg2T4ptBhy_R4tPYq50_JBCNSgsdjKQzVzvzFNLcYaI,4038
108
+ everysk/sdk/entities/secrets/settings.py,sha256=rN6QUdRO86e_5_Gg_nByKGRSrrNfKfv-PjjAPGh6OGg,910
109
+ everysk/sdk/entities/worker_execution/base.py,sha256=j8xVyDe3ncHRxXcsCnTJeJPZBPtYtH7Jg-W0sF4Cm3w,11059
110
+ everysk/sdk/entities/worker_execution/settings.py,sha256=c0FoAcWes4ZuNE16RutKeMQ4GgaTKA-mapL9zDwMx_M,3021
111
+ everysk/sdk/entities/workflow_execution/base.py,sha256=aY0Vzv2KkfHCLO6GTBLnj-iM2wlVwawYAQpvMD59xDw,4065
112
+ everysk/sdk/entities/workflow_execution/settings.py,sha256=Acefis-m7TJmDKxP2OL7B_oZ5qVH-ij2T_XKmfaAwhk,1807
113
+ everysk/sdk/entities/workspace/base.py,sha256=yzAUXcowINxi2Kiavzh_7YOq70HOkHaqqPqUh_PGBi4,3180
114
+ everysk/sdk/entities/workspace/settings.py,sha256=i2VFTCaIaza_wmWdAAkFeHMhVAv8fA-YafRVQbuYiuY,1314
115
+ everysk/server/__init__.py,sha256=lXZAWXrI2tlzw9uvJyThaWnksZqdbemQ2tqe-e7wUiU,413
116
+ everysk/server/applications.py,sha256=y0gKA0jyN6V6m1__-mGWKCuPChnEn-6J93T4MnTxY3U,2961
117
+ everysk/server/endpoints.py,sha256=6sDHTPVcx7gH-Vup8SI7IeCtUgzET2yEfnmdWaB-5wc,20322
118
+ everysk/server/example_api.py,sha256=ss3Rbycv-4wz2yb08wL6ocaILuzC6-mTTT1-Ccsi5w8,2591
119
+ everysk/server/middlewares.py,sha256=NlCgCC5V0-nGlobVVpL1dcUjsDJVzfS4jTUVQEuSqbQ,3574
120
+ everysk/server/requests.py,sha256=YBs7AfLhqi1CXYAbYcBlboej-7ukOrdNA1W40U8TlrY,2463
121
+ everysk/server/responses.py,sha256=q6h2hSrVwWUMd9MFUJrlycKwXf3vBAdtcAB7Q-OzLaI,3922
122
+ everysk/server/routing.py,sha256=tHmmokv8msPY37T9F9_lovLZ9NP8bC8G_kxV92aM-tg,2422
123
+ everysk/server/settings.py,sha256=C9nM3PYZQOKjq9KB2DB4ojGkkTJtj5pslWrUdMGYEwk,1309
124
+ everysk/server/tests.py,sha256=caw6jaXM0xjdi7Y10JpqUTCyUrUmKpG3uxigLcVRdew,1885
125
+ everysk/sql/__init__.py,sha256=lXZAWXrI2tlzw9uvJyThaWnksZqdbemQ2tqe-e7wUiU,413
126
+ everysk/sql/connection.py,sha256=8_TGX9e7PfPDTZOELunENBVNPc8Tkz4AkBtqcXUVgqM,8938
127
+ everysk/sql/model.py,sha256=syHHTTS4JRTj_2Mu9ugmMu4b6qUY12t3VgfE3hSxYIc,14559
128
+ everysk/sql/query.py,sha256=lHKLEBMQZl8KsNdPHSEuqHAMxPuJ0l161Qba9taQYsc,15265
129
+ everysk/sql/row_factory.py,sha256=FEtB4d12ACT3Bp6g2k_Ty2p2HpTkPoVqODUS1_kSXys,1936
130
+ everysk/sql/settings.py,sha256=vBfQrs0iFwr4rLIJfc3HxjJY3JqW5ONMHAeYrPhlSaU,2307
131
+ everysk/sql/utils.py,sha256=Hbk9INEcz12FoBeDvHh9qh0dTSmTCWAn_S1anJOJb1o,4327
132
+ everysk_lib-1.10.2.dist-info/licenses/LICENSE.txt,sha256=Q5YxWA62m0TsmpEmHeoRHg4oPu_8ektkZ3FWWm1pQWo,311
133
+ everysk_lib-1.10.2.dist-info/.gitignore,sha256=0A1r9HzLhR7IQ1rGPjbaW5HC6oIQ7xzVYZ1z1ZaVfmw,183
134
+ everysk_lib-1.10.2.dist-info/METADATA,sha256=PZDlWr620swJKhDJJYT43tzQri_5FV2fxDWDVoiowGc,13406
135
+ everysk_lib-1.10.2.dist-info/WHEEL,sha256=4SIlGrTWEevUMa-6zmQ9aBHcYatnnG9aOHYILIJiCXU,102
136
+ everysk_lib-1.10.2.dist-info/top_level.txt,sha256=1s1Lfhd4gXolqzkh-ay3yy-EZKPiKnJfbZwx2fybxyk,14
137
+ everysk_lib-1.10.2.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: false
4
+ Tag: cp312-cp312-win_amd64
5
+
@@ -0,0 +1,9 @@
1
+ (C) Copyright 2025 EVERYSK TECHNOLOGIES
2
+
3
+ This is an unpublished work containing confidential and proprietary
4
+ information of EVERYSK TECHNOLOGIES. Disclosure, use, or reproduction
5
+ without authorization of EVERYSK TECHNOLOGIES is prohibited.
6
+
7
+ Date: Jan 2025
8
+ Contact: contact@everysk.com
9
+ URL: https://everysk.com/
@@ -0,0 +1,2 @@
1
+ dummy
2
+ everysk