arpakitlib 1.8.28__py3-none-any.whl → 1.8.29__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.
@@ -6,6 +6,7 @@ from typing import Any
6
6
  from urllib.parse import quote_plus
7
7
  from uuid import uuid4
8
8
 
9
+ import sqlalchemy
9
10
  from sqlalchemy import create_engine, QueuePool, text, func, inspect, AsyncAdaptedQueuePool
10
11
  from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker, AsyncSession
11
12
  from sqlalchemy.orm import sessionmaker, DeclarativeBase
@@ -243,6 +244,19 @@ class SQLAlchemyDb:
243
244
  def generate_creation_dt(self) -> datetime:
244
245
  return now_utc_dt()
245
246
 
247
+ async def async_get_table_name_to_amount(self) -> dict[str, int]:
248
+ res = {}
249
+
250
+ async with self.new_async_session() as async_session:
251
+ for table_name, table in BaseDBM.metadata.tables.items():
252
+ res[table_name] = await async_session.scalar(
253
+ sqlalchemy.select(
254
+ sqlalchemy.func.count(1)
255
+ ).select_from(table)
256
+ )
257
+
258
+ return res
259
+
246
260
 
247
261
  def get_string_info_from_declarative_base(class_: type[DeclarativeBase]):
248
262
  res = f"Db Models: {len(class_.__subclasses__())}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.28
3
+ Version: 1.8.29
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -349,7 +349,7 @@ arpakitlib/ar_schedule_uust_api_client_util.py,sha256=rXI2_3OTaIBgR-GixM1Ti-Ue1f
349
349
  arpakitlib/ar_settings_util.py,sha256=Y5wi_cmsjDjfJpM0VJHjbo0NoVPKfypKaD1USowwDtQ,1327
350
350
  arpakitlib/ar_sleep_util.py,sha256=OaLtRaJQWMkGjfj_mW1RB2P4RaSWsAIH8LUoXqsH0zM,1061
351
351
  arpakitlib/ar_sqladmin_util.py,sha256=Jd33EX_fAso4bvrcDhNEYOUlUHkudbadNGOJDg7rqhQ,301
352
- arpakitlib/ar_sqlalchemy_util.py,sha256=7a1VxFgJ80xOI_Ptqrplg5mFNDrenAqIHzZug0Rxd7s,9441
352
+ arpakitlib/ar_sqlalchemy_util.py,sha256=lVd3eJ7i8q4i5zSDZWGDvau0ggrtyu7l24dr2IO4e_w,9909
353
353
  arpakitlib/ar_ssh_runner_util.py,sha256=FHQO9xOne08Ugy9FO7gsJ81Jr60U6dkGM3N5-xwSmEc,6792
354
354
  arpakitlib/ar_steam_payment_api_client_util.py,sha256=onvb3jt9bWfsCLbVLaApbN_-cqCu1CduVhM9GhG5yTA,250
355
355
  arpakitlib/ar_str_util.py,sha256=RIaSNA4nBDhJjQqg3KzULo6OnGUfE2uIqBAHCv3ahLE,3842
@@ -357,8 +357,8 @@ arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,40
357
357
  arpakitlib/ar_wata_api_client.py,sha256=gdHOqDbuqxhTjVDtRW1DvkRJLdDofCrOq51GTctzLns,242
358
358
  arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
359
359
  arpakitlib/ar_zabbix_api_client_util.py,sha256=Q-VR4MvoZ9aHwZeYZr9G3LwN-ANx1T5KFmF6pvPM-9M,6402
360
- arpakitlib-1.8.28.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
361
- arpakitlib-1.8.28.dist-info/METADATA,sha256=t9RUXfOVchKgDsRMh5ssroG0uk7RYb2cBwsDF2oT4qQ,3434
362
- arpakitlib-1.8.28.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
363
- arpakitlib-1.8.28.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
364
- arpakitlib-1.8.28.dist-info/RECORD,,
360
+ arpakitlib-1.8.29.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
361
+ arpakitlib-1.8.29.dist-info/METADATA,sha256=6yrj-gXiCPaBsWtwmk8GxarXt7o0vGkDsCG-Ox3gIAQ,3434
362
+ arpakitlib-1.8.29.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
363
+ arpakitlib-1.8.29.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
364
+ arpakitlib-1.8.29.dist-info/RECORD,,