arpakitlib 1.7.66__py3-none-any.whl → 1.7.68__py3-none-any.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.
@@ -1,23 +1,25 @@
1
1
  import fastapi.requests
2
- from fastapi import APIRouter
2
+ from fastapi import APIRouter, Depends
3
3
  from starlette import status
4
4
 
5
- from arpakitlib.ar_fastapi_util import ErrorSO
5
+ from arpakitlib.ar_fastapi_util import ErrorSO, get_transmitted_api_data
6
6
  from src.api.const import APIErrorCodes, APIErrorSpecificationCodes
7
7
  from src.api.schema.v1.out import APIErrorInfoSO
8
+ from src.api.transmitted_api_data import TransmittedAPIData
8
9
 
9
10
  api_router = APIRouter()
10
11
 
11
12
 
12
13
  @api_router.get(
13
- "/",
14
+ "",
14
15
  response_model=APIErrorInfoSO | ErrorSO,
15
16
  status_code=status.HTTP_200_OK
16
17
  )
17
18
  async def _(
18
19
  *,
19
20
  request: fastapi.requests.Request,
20
- response: fastapi.responses.Response
21
+ response: fastapi.responses.Response,
22
+ transmitted_api_data: TransmittedAPIData = Depends(get_transmitted_api_data)
21
23
  ):
22
24
  return APIErrorInfoSO(
23
25
  api_error_codes=APIErrorCodes.values_list(),
@@ -2,8 +2,20 @@ from uuid import uuid4
2
2
 
3
3
  from arpakitlib.ar_datetime_util import now_utc_dt
4
4
 
5
+ _ARPAKIT_LIB_MODULE_VERSION = "3.0"
6
+
5
7
 
6
8
  def generate_api_key() -> str:
7
9
  return (
8
10
  f"apikey{str(uuid4()).replace('-', '')}{str(now_utc_dt().timestamp()).replace('.', '')}"
9
11
  )
12
+
13
+
14
+ def __example():
15
+ for i in range(5):
16
+ api_key = generate_api_key()
17
+ print(f"API-key: {api_key}")
18
+
19
+
20
+ if __name__ == '__main__':
21
+ __example()
@@ -3,6 +3,8 @@ from typing import Any
3
3
 
4
4
  from pydantic import BaseModel, ConfigDict
5
5
 
6
+ _ARPAKIT_LIB_MODULE_VERSION = "3.0"
7
+
6
8
 
7
9
  class BaseAM(BaseModel):
8
10
  model_config = ConfigDict(extra="forbid", arbitrary_types_allowed=True, from_attributes=True)
@@ -16,7 +18,22 @@ class BaseAM(BaseModel):
16
18
 
17
19
 
18
20
  def __example():
19
- pass
21
+ class UserAM(BaseAM):
22
+ id: int
23
+ name: str
24
+ email: str
25
+
26
+ @property
27
+ def bus_data_age(self) -> int | None:
28
+ return self.bus_data.get("age")
29
+
30
+ user = UserAM(id=1, name="John Doe", email="john.doe@example.com")
31
+ print(user.name) # John Doe
32
+
33
+ # bus_data
34
+ user.bus_data["age"] = 22
35
+ print(user.bus_data) # {'age': '22'}
36
+ print(user.bus_data_age) # 22
20
37
 
21
38
 
22
39
  if __name__ == '__main__':
@@ -144,7 +144,12 @@ def get_arpakit_lib_modules() -> ArpakitLibModules:
144
144
 
145
145
 
146
146
  def __example():
147
- pass
147
+ for module_name, d in (
148
+ get_arpakit_lib_modules().module_name_to_module_version_and_module_has_errors().items()
149
+ ):
150
+ print(module_name)
151
+ print(d)
152
+ print()
148
153
 
149
154
 
150
155
  if __name__ == '__main__':
@@ -521,7 +521,28 @@ def __example():
521
521
 
522
522
 
523
523
  async def __async_example():
524
- pass
524
+ client = ARPAKITScheduleUUSTAPIClient(api_key="TEST_API_KEY", use_cache=True)
525
+
526
+ healthcheck = await client.healthcheck()
527
+ print(f"Healthcheck: {healthcheck}")
528
+
529
+ auth_healthcheck = await client.auth_healthcheck()
530
+ print(f"Auth Healthcheck: {auth_healthcheck}")
531
+
532
+ current_week = await client.get_current_week()
533
+ print(f"Текущая неделя: {current_week.simple_json() if current_week else 'Не найдено'}")
534
+
535
+ current_semester = await client.get_current_semester()
536
+ print(f"Текущий семестр: {current_semester.simple_json() if current_semester else 'Не найдено'}")
537
+
538
+ groups = await client.get_groups()
539
+ print(f"Группы: {[group.simple_json() for group in groups]}")
540
+
541
+ teachers = await client.get_teachers()
542
+ print(f"Преподаватели: {[teacher.simple_json() for teacher in teachers]}")
543
+
544
+ weather = await client.get_weather_in_ufa()
545
+ print(f"Погода в Уфе: {weather.simple_json()}")
525
546
 
526
547
 
527
548
  if __name__ == '__main__':
@@ -7,6 +7,8 @@ from arpakitlib.ar_need_type_util import parse_need_type, NeedTypes
7
7
  from arpakitlib.ar_parse_command import parse_command
8
8
  from arpakitlib.ar_str_util import raise_if_string_blank
9
9
 
10
+ _ARPAKIT_LIB_MODULE_VERSION = "3.0"
11
+
10
12
 
11
13
  def execute_arpakitlib_cli(*, full_command: str | None = None):
12
14
  if full_command is None:
@@ -1,5 +1,18 @@
1
1
  import traceback
2
2
 
3
+ _ARPAKIT_LIB_MODULE_VERSION = "3.0"
4
+
3
5
 
4
6
  def exception_to_traceback_str(exception: BaseException) -> str:
5
7
  return "".join(traceback.format_exception(type(exception), exception, exception.__traceback__))
8
+
9
+
10
+ def __example():
11
+ try:
12
+ raise Exception()
13
+ except Exception as exception:
14
+ print(exception_to_traceback_str(exception))
15
+
16
+
17
+ if __name__ == '__main__':
18
+ __example()
@@ -1,5 +1,7 @@
1
1
  import os
2
2
 
3
+ _ARPAKIT_LIB_MODULE_VERSION = "3.0"
4
+
3
5
 
4
6
  def raise_if_path_not_exists(path: str):
5
7
  if not os.path.exists(path):
@@ -56,7 +56,14 @@ def parse_need_type(value: Any, need_type: str, allow_none: bool = False) -> Any
56
56
 
57
57
 
58
58
  def __example():
59
- pass
59
+ print(parse_need_type(value=123, need_type="int"))
60
+ print(parse_need_type(value="True", need_type="bool"))
61
+ print(parse_need_type(value=123.456, need_type="float"))
62
+ print(parse_need_type(value='[1, 2, 3]', need_type="list_of_int"))
63
+ print(parse_need_type(value='["a", "b", "c"]', need_type="list_of_str"))
64
+ print(parse_need_type(value='[1.1, 2.2, 3.3]', need_type="list_of_float"))
65
+ print(parse_need_type(value='{"key": "value"}', need_type="json"))
66
+ print(parse_need_type(value="hello world", need_type="str"))
60
67
 
61
68
 
62
69
  if __name__ == '__main__':
@@ -49,11 +49,25 @@ class OpenAIAPIClient:
49
49
 
50
50
 
51
51
  def __example():
52
- pass
52
+ open_ai = OpenAI(api_key="your-api-key")
53
+ client = OpenAIAPIClient(open_ai=open_ai)
54
+
55
+ print("Checking OpenAI API connection...")
56
+ if client.is_conn_good():
57
+ print("Connection to OpenAI API is good")
58
+ else:
59
+ print("Failed to connect to OpenAI API")
53
60
 
54
61
 
55
62
  async def __async_example():
56
- pass
63
+ async_open_ai = AsyncOpenAI(api_key="your-api-key")
64
+ client = OpenAIAPIClient(async_open_ai=async_open_ai)
65
+
66
+ print("Checking OpenAI API async connection...")
67
+ if await client.async_is_conn_good():
68
+ print("Async connection to OpenAI API is good")
69
+ else:
70
+ print("Failed to async connect to OpenAI API")
57
71
 
58
72
 
59
73
  if __name__ == '__main__':
@@ -8,6 +8,8 @@ from pydantic_settings import BaseSettings
8
8
 
9
9
  from arpakitlib.ar_enumeration_util import Enumeration
10
10
 
11
+ _ARPAKIT_LIB_MODULE_VERSION = "3.0"
12
+
11
13
 
12
14
  def generate_env_example(settings_class: Union[BaseSettings, type[BaseSettings]]):
13
15
  res = ""
@@ -52,3 +54,11 @@ class SimpleSettings(BaseSettings):
52
54
  with open(filepath, mode="w") as f:
53
55
  f.write(env_example)
54
56
  return env_example
57
+
58
+
59
+ def __example():
60
+ pass
61
+
62
+
63
+ if __name__ == '__main__':
64
+ __example()
arpakitlib/ar_str_util.py CHANGED
@@ -86,7 +86,36 @@ def raise_if_string_blank(string: str) -> str:
86
86
 
87
87
 
88
88
  def __example():
89
- pass
89
+ print("str_in:")
90
+ print(str_in(string="hello", main_string="hello world")) # True
91
+ print(str_in(string="bye", main_string="hello world")) # False
92
+ print(str_in(string="hello", main_string="hello world", max_diff=6)) # True
93
+ print(str_in(string="hello", main_string="hello world", max_diff=1)) # False
94
+
95
+ print("\nbidirectional_str_in:")
96
+ print(bidirectional_str_in(string1="hello", string2="hello world")) # True
97
+ print(bidirectional_str_in(string1="world", string2="hello world")) # True
98
+
99
+ print("\nstr_startswith:")
100
+ print(str_startswith(string="hello", main_string="hello world")) # True
101
+ print(str_startswith(string="world", main_string="hello world")) # False
102
+
103
+ print("\nbidirectional_str_startswith:")
104
+ print(bidirectional_str_startswith(string1="hello", string2="hello world")) # True
105
+ print(bidirectional_str_startswith(string1="world", string2="hello world")) # False
106
+
107
+ print("\nmake blank_if_none:")
108
+ print(make_blank_if_none()) # ""
109
+ print(make_blank_if_none(string="test")) # "test"
110
+
111
+ print("\nremove_html:")
112
+ print(remove_html(string="<div>Hello <b>World</b></div>")) # "Hello World"
113
+
114
+ print("\nremove_tags:")
115
+ print(remove_tags(string="<div>Hello <b>World</b></div>")) # "divHello bWorldbdiv"
116
+
117
+ print("\nremove_tags_and_html:")
118
+ print(remove_tags_and_html("<div>Hello <b>World</b></div>")) # "Hello World"
90
119
 
91
120
 
92
121
  if __name__ == '__main__':
@@ -91,7 +91,58 @@ def raise_if_not_none(v: Any) -> Any:
91
91
 
92
92
 
93
93
  def __example():
94
- pass
94
+ print("is_set:")
95
+ print(is_set(v=NotSet)) # False
96
+ print(is_set(v="hello world")) # True
97
+
98
+ print("\nis_not_set:")
99
+ print(is_not_set(v=NotSet)) # True
100
+ print(is_not_set(v="hello world")) # False
101
+
102
+ print("\nis_set_and_not_none:")
103
+ print(is_set_and_not_none(v=NotSet)) # False
104
+ print(is_set_and_not_none(v=None)) # False
105
+ print(is_set_and_not_none(v=1000)) # True
106
+
107
+ print("\nis_not_set_or_none:")
108
+ print(is_not_set_or_none(v=NotSet)) # True
109
+ print(is_not_set_or_none(v=None)) # True
110
+ print(is_not_set_or_none(v=100)) # False
111
+
112
+ print("\nmake_none_if_not_set:")
113
+ print(make_none_if_not_set(v=NotSet)) # None
114
+ print(make_none_if_not_set(v="hello world")) # hello world
115
+
116
+ print("\nmake_none_to_false:")
117
+ print(make_none_to_false(v=None)) # False
118
+ print(make_none_to_false(v=True)) # True
119
+ print(make_none_to_false(v=100)) # 100
120
+
121
+ print("\nraise_if_set:")
122
+ try:
123
+ raise_if_set(v=100) # raise
124
+ except ValueError as e:
125
+ print(e)
126
+
127
+ print("\nraise_if_set:")
128
+ try:
129
+ raise_if_not_set(v=NotSet) # raise
130
+ except ValueError as e:
131
+ print(e)
132
+
133
+ print("\nraise_for_type:")
134
+ try:
135
+ raise_for_type(comparable="test", need_type=str) # pass
136
+ raise_for_type(comparable=100, need_type=str) # raise
137
+ except TypeError as e:
138
+ print(e)
139
+
140
+ print("\nraise_for_types:")
141
+ try:
142
+ raise_for_types(comparable="test", need_types=[str, int]) # pass
143
+ raise_for_types(comparable=100.5, need_types=[str, int], comment_for_error="Ooops") # raise
144
+ except TypeError as e:
145
+ print(e)
95
146
 
96
147
 
97
148
  if __name__ == '__main__':
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arpakitlib
3
- Version: 1.7.66
3
+ Version: 1.7.68
4
4
  Summary: arpakitlib
5
5
  Home-page: https://github.com/ARPAKIT-Company/arpakitlib
6
6
  License: Apache-2.0
@@ -79,7 +79,7 @@ arpakitlib/_arpakit_project_template/src/api/event.py,sha256=58wCVyVSIe_kydWi44M
79
79
  arpakitlib/_arpakit_project_template/src/api/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
80
  arpakitlib/_arpakit_project_template/src/api/router/main_router.py,sha256=__Z-pGoeooYCub7besFXGJJvZR3V-4IakXd3cKo6ZIM,209
81
81
  arpakitlib/_arpakit_project_template/src/api/router/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
- arpakitlib/_arpakit_project_template/src/api/router/v1/get_api_error_info.py,sha256=fGLBFVExPqh-oBRM3YbuyXR5e_x2bSfkB4rucjUFldo,664
82
+ arpakitlib/_arpakit_project_template/src/api/router/v1/get_api_error_info.py,sha256=lz2yH5IjzKvkdAqOErnT4E4DCTwmE1Ru0h_7dc_ZNn4,844
83
83
  arpakitlib/_arpakit_project_template/src/api/router/v1/main_router.py,sha256=fvT-t2c2o6XVVJWiUdNnIWEOE8Q8F4v1Ik1Nae5YqvU,256
84
84
  arpakitlib/_arpakit_project_template/src/api/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
85
  arpakitlib/_arpakit_project_template/src/api/schema/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -110,13 +110,13 @@ arpakitlib/_arpakit_project_template/src/test_data/make_test_data_3.py,sha256=89
110
110
  arpakitlib/_arpakit_project_template/src/test_data/make_test_data_4.py,sha256=BlVvIhSFclBMQMHftETS57bRaFpkOdKPrZyxMbYJuDY,80
111
111
  arpakitlib/_arpakit_project_template/src/test_data/make_test_data_5.py,sha256=7ruCZevqJoLSdqL1OEJWUy3YPCOHQif7JqVTKxZ9acM,80
112
112
  arpakitlib/_arpakit_project_template/src/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
- arpakitlib/api_key_util.py,sha256=DtzREor5h70XlZOv1ounNoPHL5_cc0YA28SaHvlFaWs,224
114
- arpakitlib/ar_additional_model_util.py,sha256=tNzZhZtvtJ1qC6Cn4UnyoEL58HudfpCdQy5ftkCqyik,473
113
+ arpakitlib/api_key_util.py,sha256=E84JlJXiDHtxLQmV8BNHvqNKu_G8-Dox0XxknYJQ37Q,422
114
+ arpakitlib/ar_additional_model_util.py,sha256=GFg-glLCxH9X95R2bhTJsscVwv37FgE1qbaAAyXrnIE,917
115
115
  arpakitlib/ar_aiogram_util.py,sha256=5JPCDZpdBGTE-EIWPRez9amCZAX7XemFIVu5YrQK7Pw,12264
116
- arpakitlib/ar_arpakit_lib_module_util.py,sha256=V_mc3Ml73Tzz3arxmwEfIxruKMyrwbe8XZ9FfVDtUXY,5446
116
+ arpakitlib/ar_arpakit_lib_module_util.py,sha256=NUMNT-AFE6cSmrd4wGKVoCBzfJZeNb7zNWn7aU7qybI,5632
117
117
  arpakitlib/ar_arpakit_project_template_util.py,sha256=AswzQvvb-zfUyrcP4EP0K756YL-oC8fA9VperlPf_d0,3699
118
- arpakitlib/ar_arpakit_schedule_uust_api_client_util.py,sha256=SYWWQDohPnw0qpBIu2hEvGZRVdaI4NUUQdEjnMnseo4,18237
119
- arpakitlib/ar_arpakitlib_cli_util.py,sha256=ZktW3T6YRSM4_IDjbVhO3erceiQ5N6Gab_O-LtglfAI,3117
118
+ arpakitlib/ar_arpakit_schedule_uust_api_client_util.py,sha256=LG0-An6KgC_hew548cyWAfRkpBH2vlnYgTqnPC07Yvk,19215
119
+ arpakitlib/ar_arpakitlib_cli_util.py,sha256=8lhEDxnwMSRX2PGV2xQtQru1AYKSA92SVolol5u7iBk,3154
120
120
  arpakitlib/ar_base64_util.py,sha256=aZkg2cZTuAaP2IWeG_LXJ6RO7qhyskVwec-Lks0iM-k,676
121
121
  arpakitlib/ar_base_worker_util.py,sha256=o7RksRG-f8Xf6xEhNFx-ddhnZfF_yq2OhhxHEI6_YJk,3760
122
122
  arpakitlib/ar_cache_file_util.py,sha256=Fo2pH-Zqm966KWFBHG_pbiySGZvhIFCYqy7k1weRfJ0,3476
@@ -125,7 +125,7 @@ arpakitlib/ar_dict_util.py,sha256=cF5LQJ6tLqyGoEXfDljMDZrikeZoWPw7CgINHIFGvXM,41
125
125
  arpakitlib/ar_dream_ai_api_client_util.py,sha256=QF9XK7xK5ny1fvkcG4e0pfCySNNFRNPy0x0cmxfsAak,2818
126
126
  arpakitlib/ar_encrypt_decrypt_util.py,sha256=GhWnp7HHkbhwFVVCzO1H07m-5gryr4yjWsXjOaNQm1Y,520
127
127
  arpakitlib/ar_enumeration_util.py,sha256=1dQUEVgJRp0nCO-IrCKv5GTK0QkSzM44M1lOWkmPk3w,2532
128
- arpakitlib/ar_exception_util.py,sha256=2Xd8TchZA46QRJgYN-S_9Xf-_gRvyHv-0WKkC_ccCbA,184
128
+ arpakitlib/ar_exception_util.py,sha256=3hZKsj34TZVdmd4JAQz7w515smWqB8o3gTwAEjuMdnI,408
129
129
  arpakitlib/ar_fastapi_static/healthcheck,sha256=IIO7Wvjwlr2-LPSQ7Y8O35hcI6t0_s8zqITDxkYCO8I,11
130
130
  arpakitlib/ar_fastapi_static/redoc/redoc.standalone.js,sha256=WCuodUNv1qVh0oW5fjnJDwb5AwOue73jKHdI9z8iGKU,909365
131
131
  arpakitlib/ar_fastapi_static/swagger-ui/favicon-16x16.png,sha256=ryStYE3Xs7zaj5dauXMHX0ovcKQIeUShL474tjo-B8I,665
@@ -148,7 +148,7 @@ arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js,sha256=ffrLZHHEQ_g84A-ul3y
148
148
  arpakitlib/ar_fastapi_static/swagger-ui/swagger-ui.js.map,sha256=9UhIW7MqCOZPAz1Sl1IKfZUuhWU0p-LJqrnjjJD9Xhc,1159454
149
149
  arpakitlib/ar_fastapi_util.py,sha256=eOErnvI8ujwC_yN0XGN2xHm2RUoDk103OCpIkFGJ8A4,24555
150
150
  arpakitlib/ar_file_storage_in_dir_util.py,sha256=D3e3rGuHoI6xqAA5mVvEpVVpOWY1jyjNsjj2UhyHRbE,3674
151
- arpakitlib/ar_file_util.py,sha256=07xCF7paAUP2JUyfpeX0l3N1oCSma7qAcBmrCIZVi3g,452
151
+ arpakitlib/ar_file_util.py,sha256=GUdJYm1tUZnYpY-SIPRHAZBHGra8NKy1eYEI0D5AfhY,489
152
152
  arpakitlib/ar_hash_util.py,sha256=Iqy6KBAOLBQMFLWv676boI5sV7atT2B-fb7aCdHOmIQ,340
153
153
  arpakitlib/ar_http_request_util.py,sha256=Kp2wKU4wGPsJ6m5sLwCEKWMs3Uqa59SUxhBevU6Gk_s,4328
154
154
  arpakitlib/ar_ip_util.py,sha256=aEAa1Hvobh9DWX7cmBAPLqnXSTiKe2hRk-WJaiKMaI8,1009
@@ -159,25 +159,25 @@ arpakitlib/ar_list_of_dicts_to_xlsx.py,sha256=MyjEl4Jl4beLVZqLVQMMv0-XDtBD3Xh4Z_
159
159
  arpakitlib/ar_list_util.py,sha256=2woOAHAU8oTIiVjZ8GLnx15odEaoQUq3Q0JPxlufFF0,457
160
160
  arpakitlib/ar_logging_util.py,sha256=mx3H6CzX9dsh29ruFmYnva8lL6mwvdBXmeHH9E2tvu8,1678
161
161
  arpakitlib/ar_mongodb_util.py,sha256=2ECkTnGAZ92qxioL-fmN6R4yZOSr3bXdXLWTzT1C3vk,4038
162
- arpakitlib/ar_need_type_util.py,sha256=xq5bbAXJG-93CRVZUcLW0ZdM22rj-ZUW17C5hX_5grg,1699
163
- arpakitlib/ar_openai_api_client_util.py,sha256=dHUbfg1sVVCjsNl_fra3iCMEz1bR-Hk9fE-DdYbu7Wc,1215
162
+ arpakitlib/ar_need_type_util.py,sha256=GETiREPMEYhch-yU6T--Bdawlbb04Jp1Qy7cOsUlIeA,2228
163
+ arpakitlib/ar_openai_api_client_util.py,sha256=_XmlApvHFMSyjvZydPa_kASIt9LsFrZmSC7YEzIG8Bg,1806
164
164
  arpakitlib/ar_operation_execution_util.py,sha256=F3gX2ZaR-tMFEKjVptpmX2kBTwtyr9Wfp9qNS0DR0Gk,18049
165
165
  arpakitlib/ar_parse_command.py,sha256=-s61xcATIsfw1eV_iD3xi-grsitbGzSDoAFc5V0OFy4,3447
166
166
  arpakitlib/ar_postgresql_util.py,sha256=1AuLjEaa1Lg4pzn-ukCVnDi35Eg1k91APRTqZhIJAdo,945
167
167
  arpakitlib/ar_run_cmd_util.py,sha256=D_rPavKMmWkQtwvZFz-Io5Ak8eSODHkcFeLPzNVC68g,1072
168
168
  arpakitlib/ar_schedule_uust_api_client_util.py,sha256=rAIxrAwURes5kuviFi2MA1VgOaWCZQtqmqsTf0QlAvY,6634
169
- arpakitlib/ar_settings_util.py,sha256=gnuC8rs7IkyXkRWurrV-K0jObDMMxeH_1NdfJLkekHA,1473
169
+ arpakitlib/ar_settings_util.py,sha256=EFRh5WrB_iaqwxy0rGAtnyGtA6JkNCan-Y_Y6XWb4UY,1583
170
170
  arpakitlib/ar_sleep_util.py,sha256=OaLtRaJQWMkGjfj_mW1RB2P4RaSWsAIH8LUoXqsH0zM,1061
171
171
  arpakitlib/ar_sqlalchemy_model_util.py,sha256=TFGOAgpxcnBV_u7yZrLCkf1ldlB4Of8vIRsyk9kyP5c,4987
172
172
  arpakitlib/ar_sqlalchemy_util.py,sha256=Hcg1THrDsSR_-8dsY1CG3NWPEv0FqCbkPXFXLtjlSJ0,4207
173
173
  arpakitlib/ar_ssh_runner_util.py,sha256=jlnss4V4pziBN1rBzoK_lDiWm6nMOqGXfa6NFJSKH-Y,6796
174
- arpakitlib/ar_str_util.py,sha256=oCEtQ_TTn35OEz9jCNLjbhopq76JmaifD_iYR-nEJJ4,2142
175
- arpakitlib/ar_type_util.py,sha256=e6Ch8I_B3FMJMj-fiZvTwtGde4hxSa48fGt5g8RlV6I,2301
174
+ arpakitlib/ar_str_util.py,sha256=tFoGSDYoGpfdVHWor5Li9pEOFmDFlHkX-Z8iOy1LK7Y,3537
175
+ arpakitlib/ar_type_util.py,sha256=46ZMuWls3uN0Re5T0sfEAmyNUDnxn9yvj6dHivSDZKs,3915
176
176
  arpakitlib/ar_yookassa_api_client_util.py,sha256=sh4fcUkAkdOetFn9JYoTvjcSXP-M1wU04KEY-ECLfLg,5137
177
177
  arpakitlib/ar_zabbix_api_client_util.py,sha256=Q-VR4MvoZ9aHwZeYZr9G3LwN-ANx1T5KFmF6pvPM-9M,6402
178
- arpakitlib-1.7.66.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
179
- arpakitlib-1.7.66.dist-info/METADATA,sha256=TlRRdFiHs7ZwGKV_JpHFIgT_CrurbmGs-heJ_QswOM0,2824
180
- arpakitlib-1.7.66.dist-info/NOTICE,sha256=95aUzaPJjVpDsGAsNzVnq7tHTxAl0s5UFznCTkVCau4,763
181
- arpakitlib-1.7.66.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
182
- arpakitlib-1.7.66.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
183
- arpakitlib-1.7.66.dist-info/RECORD,,
178
+ arpakitlib-1.7.68.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
179
+ arpakitlib-1.7.68.dist-info/METADATA,sha256=9-WHEIAgTJKs9WgRVo6ZaHX-NtYxjER0bZdUIkVqqLY,2824
180
+ arpakitlib-1.7.68.dist-info/NOTICE,sha256=95aUzaPJjVpDsGAsNzVnq7tHTxAl0s5UFznCTkVCau4,763
181
+ arpakitlib-1.7.68.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
182
+ arpakitlib-1.7.68.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
183
+ arpakitlib-1.7.68.dist-info/RECORD,,