kiba-core 0.5.3.dev77__tar.gz → 0.5.3.dev78__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 (142) hide show
  1. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/PKG-INFO +1 -1
  2. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/store/database.py +6 -6
  3. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/store/entity_repository.py +1 -1
  4. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/store/retriever.py +13 -13
  5. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/store/saver.py +1 -1
  6. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/kiba_core.egg-info/PKG-INFO +1 -1
  7. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/pyproject.toml +1 -1
  8. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/.github/pull_request_template.md +0 -0
  9. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/.github/workflows/deploy.yml +0 -0
  10. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/.github/workflows/pull-request.yml +0 -0
  11. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/.github/workflows/release.yml +0 -0
  12. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/.gitignore +0 -0
  13. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/CHANGELOG.md +0 -0
  14. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/Dockerfile +0 -0
  15. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/README.md +0 -0
  16. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/__init__.py +0 -0
  17. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/__init__.py +0 -0
  18. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/api_request.py +0 -0
  19. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/api_response.py +0 -0
  20. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/authorizer.py +0 -0
  21. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/default_routes.py +0 -0
  22. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/health.py +0 -0
  23. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/json_route.py +0 -0
  24. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/middleware/__init__.py +0 -0
  25. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/middleware/database_connection_middleware.py +0 -0
  26. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/middleware/exception_handling_middleware.py +0 -0
  27. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/middleware/logging_middleware.py +0 -0
  28. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/middleware/origin_ip_middleware.py +0 -0
  29. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/middleware/server_headers_middleware.py +0 -0
  30. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/openapi.py +0 -0
  31. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/rate_limit.py +0 -0
  32. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/request_context.py +0 -0
  33. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/route.py +0 -0
  34. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/route_auth.py +0 -0
  35. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/route_metadata.py +0 -0
  36. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/api/streaming_json_route.py +0 -0
  37. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/aws_requester.py +0 -0
  38. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/caching/__init__.py +0 -0
  39. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/caching/cache.py +0 -0
  40. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/caching/dict_cache.py +0 -0
  41. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/caching/file_cache.py +0 -0
  42. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/cron/__init__.py +0 -0
  43. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/cron/api_request_cron_job_processor.py +0 -0
  44. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/cron/cron_executor.py +0 -0
  45. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/cron/cron_job_processor.py +0 -0
  46. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/cron/model.py +0 -0
  47. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/exceptions.py +0 -0
  48. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/http/__init__.py +0 -0
  49. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/http/basic_authentication.py +0 -0
  50. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/http/jwt.py +0 -0
  51. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/http/rest_method.py +0 -0
  52. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/locks/__init__.py +0 -0
  53. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/locks/lock.py +0 -0
  54. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/locks/model.py +0 -0
  55. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/locks/sql.py +0 -0
  56. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/logging.py +0 -0
  57. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/notifications/__init__.py +0 -0
  58. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/notifications/discord_client.py +0 -0
  59. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/notifications/notification_client.py +0 -0
  60. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/notifications/slack_client.py +0 -0
  61. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/py.typed +0 -0
  62. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/queues/__init__.py +0 -0
  63. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/queues/aqs.py +0 -0
  64. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/queues/cosmos.py +0 -0
  65. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/queues/message_queue.py +0 -0
  66. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/queues/message_queue_processor.py +0 -0
  67. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/queues/model.py +0 -0
  68. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/queues/sql.py +0 -0
  69. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/queues/sqs.py +0 -0
  70. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/requester/__init__.py +0 -0
  71. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/requester/requester.py +0 -0
  72. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/s3_manager.py +0 -0
  73. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/service_client.py +0 -0
  74. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/store/__init__.py +0 -0
  75. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/__init__.py +0 -0
  76. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/async_util.py +0 -0
  77. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/chain_util.py +0 -0
  78. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/date_util.py +0 -0
  79. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/dict_util.py +0 -0
  80. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/file_util.py +0 -0
  81. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/hashing_util.py +0 -0
  82. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/http_util.py +0 -0
  83. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/json_util.py +0 -0
  84. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/list_util.py +0 -0
  85. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/process_util.py +0 -0
  86. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/string_util.py +0 -0
  87. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/typing_util.py +0 -0
  88. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/url_util.py +0 -0
  89. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/util/value_holder.py +0 -0
  90. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/web3/__init__.py +0 -0
  91. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/web3/eth_client.py +0 -0
  92. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/web3/eth_client_registry.py +0 -0
  93. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/core/web3/multicall3.py +0 -0
  94. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/kiba_core.egg-info/SOURCES.txt +0 -0
  95. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/kiba_core.egg-info/dependency_links.txt +0 -0
  96. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/kiba_core.egg-info/requires.txt +0 -0
  97. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/kiba_core.egg-info/top_level.txt +0 -0
  98. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/makefile +0 -0
  99. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/setup.cfg +0 -0
  100. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/__init__.py +0 -0
  101. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/api/test_api_response.py +0 -0
  102. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/api/test_authorizer.py +0 -0
  103. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/api/test_exception_handling_middleware.py +0 -0
  104. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/api/test_json_route.py +0 -0
  105. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/api/test_openapi.py +0 -0
  106. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/api/test_origin_ip_middleware.py +0 -0
  107. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/api/test_rate_limit.py +0 -0
  108. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/api/test_request_context.py +0 -0
  109. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/api/test_route.py +0 -0
  110. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/api/test_streaming_json_route.py +0 -0
  111. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/caching/test_dict_cache.py +0 -0
  112. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/caching/test_file_cache.py +0 -0
  113. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/cron/__init__.py +0 -0
  114. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/cron/test_cron_executor.py +0 -0
  115. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/locks/test_sql_lock.py +0 -0
  116. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/queues/conftest.py +0 -0
  117. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/queues/test_aqs_queue.py +0 -0
  118. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/queues/test_cosmos_queue.py +0 -0
  119. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/queues/test_message_queue_processor.py +0 -0
  120. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/queues/test_sql_queue.py +0 -0
  121. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/queues/test_sqs_queue.py +0 -0
  122. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/requester/__init__.py +0 -0
  123. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/requester/test_requester.py +0 -0
  124. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/test_database.py +0 -0
  125. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/test_entity_repository.py +0 -0
  126. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/test_exceptions.py +0 -0
  127. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/test_logging.py +0 -0
  128. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/util/__init__.py +0 -0
  129. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/util/test_async_util.py +0 -0
  130. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/util/test_chain_util.py +0 -0
  131. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/util/test_date_util.py +0 -0
  132. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/util/test_dict_util.py +0 -0
  133. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/util/test_file_util.py +0 -0
  134. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/util/test_json_util.py +0 -0
  135. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/util/test_list_util.py +0 -0
  136. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/util/test_process_util.py +0 -0
  137. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/util/test_string_util.py +0 -0
  138. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/util/test_url_util.py +0 -0
  139. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/web3/__init__.py +0 -0
  140. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/web3/test_eth_client_registry.py +0 -0
  141. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/tests/web3/test_rest_eth_client.py +0 -0
  142. {kiba_core-0.5.3.dev77 → kiba_core-0.5.3.dev78}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kiba-core
3
- Version: 0.5.3.dev77
3
+ Version: 0.5.3.dev78
4
4
  Summary: Kiba Labs' python utilities
5
5
  Project-URL: repository, https://github.com/kibalabs/core-py
6
6
  Requires-Python: <4,>=3.12
@@ -4,7 +4,7 @@ import datetime
4
4
  import typing
5
5
  import weakref
6
6
  from collections.abc import AsyncIterator
7
- from typing import TypeVar
7
+ from typing import TypeVarTuple
8
8
 
9
9
  import sqlalchemy
10
10
  import sqlalchemy.exc
@@ -20,7 +20,7 @@ from core.exceptions import InternalServerErrorException
20
20
  from core.util import json_util
21
21
 
22
22
  DatabaseConnection = AsyncConnection
23
- ResultType = TypeVar('ResultType', bound=tuple) # type: ignore[type-arg]
23
+ ResultType = TypeVarTuple('ResultType')
24
24
 
25
25
 
26
26
  class Database:
@@ -140,10 +140,10 @@ class Database:
140
140
  self._connectionContext.reset(token)
141
141
 
142
142
  @typing.overload
143
- async def execute(self, query: TypedReturnsRows[ResultType], connection: DatabaseConnection | None = None) -> Result[ResultType]: ...
143
+ async def execute(self, query: TypedReturnsRows[*ResultType], connection: DatabaseConnection | None = None) -> Result[*ResultType]: ...
144
144
  @typing.overload
145
- async def execute(self, query: sqlalchemy.sql.Executable, connection: DatabaseConnection | None = None) -> Result[typing.Any]: ... # type: ignore[explicit-any]
146
- async def execute(self, query: sqlalchemy.sql.Executable, connection: DatabaseConnection | None = None) -> Result[typing.Any]: # type: ignore[explicit-any]
145
+ async def execute(self, query: sqlalchemy.sql.Executable, connection: DatabaseConnection | None = None) -> Result[*tuple[typing.Any, ...]]: ... # type: ignore[explicit-any]
146
+ async def execute(self, query: sqlalchemy.sql.Executable, connection: DatabaseConnection | None = None) -> Result[*tuple[typing.Any, ...]]: # type: ignore[explicit-any]
147
147
  if not self._engine:
148
148
  raise InternalServerErrorException(message='Connection has not been established. Please called collect() first.')
149
149
  if not connection:
@@ -152,4 +152,4 @@ class Database:
152
152
  raise InternalServerErrorException(message='No connection found. Please provide a connection or call create_context_connection() for the context.')
153
153
  if isinstance(query, UpdateBase):
154
154
  self._connectionsWithWrites.add(connection)
155
- return typing.cast(Result[typing.Any], await connection.execute(statement=query)) # type: ignore[explicit-any]
155
+ return typing.cast(Result[*tuple[typing.Any, ...]], await connection.execute(statement=query)) # type: ignore[explicit-any]
@@ -79,7 +79,7 @@ class EntityRepository(typing.Generic[EntityType]): # noqa: UP046
79
79
  def from_row(self, row: RowMapping) -> EntityType:
80
80
  return self.modelClass.model_validate(self._get_field_values(row=row))
81
81
 
82
- def force_from_result(self, result: Result[typing.Any]) -> EntityType: # type: ignore[explicit-any]
82
+ def force_from_result(self, result: Result[*tuple[typing.Any, ...]]) -> EntityType: # type: ignore[explicit-any]
83
83
  row = result.mappings().first()
84
84
  if row is None:
85
85
  raise NotFoundException
@@ -110,7 +110,7 @@ def datetime_to_column_value(column: sqlalchemy.ColumnElement[typing.Any], dt: d
110
110
  return date_util.datetime_to_utc_naive_datetime(dt=dt)
111
111
 
112
112
 
113
- def apply_order(query: Select[ResultType], table: Table, order: Order) -> Select[ResultType]:
113
+ def apply_order(query: Select[*ResultType], table: Table, order: Order) -> Select[*ResultType]:
114
114
  if isinstance(order, RandomOrder):
115
115
  query = query.order_by(sqlalchemy.sql.functions.random())
116
116
  else:
@@ -119,7 +119,7 @@ def apply_order(query: Select[ResultType], table: Table, order: Order) -> Select
119
119
  return query
120
120
 
121
121
 
122
- def apply_orders(query: Select[ResultType], table: Table, orders: Sequence[Order]) -> Select[ResultType]:
122
+ def apply_orders(query: Select[*ResultType], table: Table, orders: Sequence[Order]) -> Select[*ResultType]:
123
123
  for order in orders:
124
124
  query = apply_order(query=query, table=table, order=order)
125
125
  return query
@@ -259,7 +259,7 @@ def get_field_filters_conditions(table: Table, fieldFilters: Sequence[FieldFilte
259
259
  return [condition for fieldFilter in fieldFilters for condition in get_field_filter_conditions(table=table, fieldFilter=fieldFilter)]
260
260
 
261
261
 
262
- def apply_field_filters(query: Select[ResultType], table: Table, fieldFilters: Sequence[FieldFilter]) -> Select[ResultType]:
262
+ def apply_field_filters(query: Select[*ResultType], table: Table, fieldFilters: Sequence[FieldFilter]) -> Select[*ResultType]:
263
263
  return query.where(*get_field_filters_conditions(table=table, fieldFilters=fieldFilters))
264
264
 
265
265
 
@@ -267,32 +267,32 @@ class Retriever:
267
267
  def __init__(self, database: Database) -> None:
268
268
  self.database = database
269
269
 
270
- def _apply_order(self, query: Select[ResultType], table: Table, order: Order) -> Select[ResultType]:
270
+ def _apply_order(self, query: Select[*ResultType], table: Table, order: Order) -> Select[*ResultType]:
271
271
  return apply_order(query=query, table=table, order=order)
272
272
 
273
- def _apply_orders(self, query: Select[ResultType], table: Table, orders: Sequence[Order]) -> Select[ResultType]:
273
+ def _apply_orders(self, query: Select[*ResultType], table: Table, orders: Sequence[Order]) -> Select[*ResultType]:
274
274
  return apply_orders(query=query, table=table, orders=orders)
275
275
 
276
- def _apply_string_field_filter(self, query: Select[ResultType], table: Table, fieldFilter: StringFieldFilter) -> Select[ResultType]:
276
+ def _apply_string_field_filter(self, query: Select[*ResultType], table: Table, fieldFilter: StringFieldFilter) -> Select[*ResultType]:
277
277
  return query.where(*get_string_field_filter_conditions(table=table, fieldFilter=fieldFilter))
278
278
 
279
- def _apply_uuid_field_filter(self, query: Select[ResultType], table: Table, fieldFilter: UUIDFieldFilter) -> Select[ResultType]:
279
+ def _apply_uuid_field_filter(self, query: Select[*ResultType], table: Table, fieldFilter: UUIDFieldFilter) -> Select[*ResultType]:
280
280
  return query.where(*get_uuid_field_filter_conditions(table=table, fieldFilter=fieldFilter))
281
281
 
282
- def _apply_date_field_filter(self, query: Select[ResultType], table: Table, fieldFilter: DateFieldFilter) -> Select[ResultType]:
282
+ def _apply_date_field_filter(self, query: Select[*ResultType], table: Table, fieldFilter: DateFieldFilter) -> Select[*ResultType]:
283
283
  return query.where(*get_date_field_filter_conditions(table=table, fieldFilter=fieldFilter))
284
284
 
285
- def _apply_integer_field_filter(self, query: Select[ResultType], table: Table, fieldFilter: IntegerFieldFilter) -> Select[ResultType]:
285
+ def _apply_integer_field_filter(self, query: Select[*ResultType], table: Table, fieldFilter: IntegerFieldFilter) -> Select[*ResultType]:
286
286
  return query.where(*get_integer_field_filter_conditions(table=table, fieldFilter=fieldFilter))
287
287
 
288
- def _apply_float_field_filter(self, query: Select[ResultType], table: Table, fieldFilter: FloatFieldFilter) -> Select[ResultType]:
288
+ def _apply_float_field_filter(self, query: Select[*ResultType], table: Table, fieldFilter: FloatFieldFilter) -> Select[*ResultType]:
289
289
  return query.where(*get_float_field_filter_conditions(table=table, fieldFilter=fieldFilter))
290
290
 
291
- def _apply_boolean_field_filter(self, query: Select[ResultType], table: Table, fieldFilter: BooleanFieldFilter) -> Select[ResultType]:
291
+ def _apply_boolean_field_filter(self, query: Select[*ResultType], table: Table, fieldFilter: BooleanFieldFilter) -> Select[*ResultType]:
292
292
  return query.where(*get_boolean_field_filter_conditions(table=table, fieldFilter=fieldFilter))
293
293
 
294
- def _apply_field_filter(self, query: Select[ResultType], table: Table, fieldFilter: FieldFilter) -> Select[ResultType]:
294
+ def _apply_field_filter(self, query: Select[*ResultType], table: Table, fieldFilter: FieldFilter) -> Select[*ResultType]:
295
295
  return query.where(*get_field_filter_conditions(table=table, fieldFilter=fieldFilter))
296
296
 
297
- def _apply_field_filters(self, query: Select[ResultType], table: Table, fieldFilters: Sequence[FieldFilter]) -> Select[ResultType]:
297
+ def _apply_field_filters(self, query: Select[*ResultType], table: Table, fieldFilters: Sequence[FieldFilter]) -> Select[*ResultType]:
298
298
  return apply_field_filters(query=query, table=table, fieldFilters=fieldFilters)
@@ -39,7 +39,7 @@ class Saver:
39
39
  async with self.database.create_transaction() as connection:
40
40
  yield connection
41
41
 
42
- async def _execute(self, query: TypedReturnsRows[ResultType], connection: DatabaseConnection | None = None) -> Result[ResultType]:
42
+ async def _execute(self, query: TypedReturnsRows[*ResultType], connection: DatabaseConnection | None = None) -> Result[*ResultType]:
43
43
  try:
44
44
  if connection:
45
45
  return await self.database.execute(query=query, connection=connection)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kiba-core
3
- Version: 0.5.3.dev77
3
+ Version: 0.5.3.dev78
4
4
  Summary: Kiba Labs' python utilities
5
5
  Project-URL: repository, https://github.com/kibalabs/core-py
6
6
  Requires-Python: <4,>=3.12
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kiba-core"
3
- version = "0.5.3.dev77"
3
+ version = "0.5.3.dev78"
4
4
  description = "Kiba Labs' python utilities"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12, <4"
File without changes