kiba-core 0.5.3.dev84__tar.gz → 0.5.3.dev85__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 (143) hide show
  1. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/CHANGELOG.md +1 -0
  2. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/PKG-INFO +1 -1
  3. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/requester/requester.py +2 -2
  4. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/kiba_core.egg-info/PKG-INFO +1 -1
  5. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/pyproject.toml +1 -1
  6. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/.github/pull_request_template.md +0 -0
  7. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/.github/workflows/deploy.yml +0 -0
  8. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/.github/workflows/publish.yml +0 -0
  9. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/.github/workflows/pull-request.yml +0 -0
  10. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/.github/workflows/release.yml +0 -0
  11. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/.gitignore +0 -0
  12. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/Dockerfile +0 -0
  13. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/README.md +0 -0
  14. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/__init__.py +0 -0
  15. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/__init__.py +0 -0
  16. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/api_request.py +0 -0
  17. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/api_response.py +0 -0
  18. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/authorizer.py +0 -0
  19. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/default_routes.py +0 -0
  20. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/health.py +0 -0
  21. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/json_route.py +0 -0
  22. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/middleware/__init__.py +0 -0
  23. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/middleware/database_connection_middleware.py +0 -0
  24. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/middleware/exception_handling_middleware.py +0 -0
  25. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/middleware/logging_middleware.py +0 -0
  26. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/middleware/origin_ip_middleware.py +0 -0
  27. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/middleware/server_headers_middleware.py +0 -0
  28. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/openapi.py +0 -0
  29. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/rate_limit.py +0 -0
  30. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/request_context.py +0 -0
  31. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/route.py +0 -0
  32. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/route_auth.py +0 -0
  33. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/route_metadata.py +0 -0
  34. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/api/streaming_json_route.py +0 -0
  35. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/aws_requester.py +0 -0
  36. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/caching/__init__.py +0 -0
  37. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/caching/cache.py +0 -0
  38. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/caching/dict_cache.py +0 -0
  39. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/caching/file_cache.py +0 -0
  40. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/cron/__init__.py +0 -0
  41. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/cron/api_request_cron_job_processor.py +0 -0
  42. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/cron/cron_executor.py +0 -0
  43. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/cron/cron_job_processor.py +0 -0
  44. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/cron/model.py +0 -0
  45. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/exceptions.py +0 -0
  46. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/http/__init__.py +0 -0
  47. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/http/basic_authentication.py +0 -0
  48. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/http/jwt.py +0 -0
  49. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/http/rest_method.py +0 -0
  50. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/locks/__init__.py +0 -0
  51. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/locks/lock.py +0 -0
  52. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/locks/model.py +0 -0
  53. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/locks/sql.py +0 -0
  54. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/logging.py +0 -0
  55. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/notifications/__init__.py +0 -0
  56. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/notifications/discord_client.py +0 -0
  57. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/notifications/notification_client.py +0 -0
  58. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/notifications/slack_client.py +0 -0
  59. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/py.typed +0 -0
  60. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/queues/__init__.py +0 -0
  61. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/queues/aqs.py +0 -0
  62. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/queues/cosmos.py +0 -0
  63. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/queues/message_queue.py +0 -0
  64. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/queues/message_queue_processor.py +0 -0
  65. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/queues/model.py +0 -0
  66. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/queues/sql.py +0 -0
  67. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/queues/sqs.py +0 -0
  68. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/requester/__init__.py +0 -0
  69. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/s3_manager.py +0 -0
  70. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/service_client.py +0 -0
  71. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/store/__init__.py +0 -0
  72. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/store/database.py +0 -0
  73. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/store/entity_repository.py +0 -0
  74. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/store/retriever.py +0 -0
  75. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/store/saver.py +0 -0
  76. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/__init__.py +0 -0
  77. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/async_util.py +0 -0
  78. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/chain_util.py +0 -0
  79. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/date_util.py +0 -0
  80. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/dict_util.py +0 -0
  81. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/file_util.py +0 -0
  82. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/hashing_util.py +0 -0
  83. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/http_util.py +0 -0
  84. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/json_util.py +0 -0
  85. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/list_util.py +0 -0
  86. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/process_util.py +0 -0
  87. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/string_util.py +0 -0
  88. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/typing_util.py +0 -0
  89. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/url_util.py +0 -0
  90. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/util/value_holder.py +0 -0
  91. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/web3/__init__.py +0 -0
  92. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/web3/eth_client.py +0 -0
  93. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/web3/eth_client_registry.py +0 -0
  94. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/core/web3/multicall3.py +0 -0
  95. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/kiba_core.egg-info/SOURCES.txt +0 -0
  96. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/kiba_core.egg-info/dependency_links.txt +0 -0
  97. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/kiba_core.egg-info/requires.txt +0 -0
  98. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/kiba_core.egg-info/top_level.txt +0 -0
  99. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/makefile +0 -0
  100. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/setup.cfg +0 -0
  101. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/__init__.py +0 -0
  102. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/api/test_api_response.py +0 -0
  103. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/api/test_authorizer.py +0 -0
  104. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/api/test_exception_handling_middleware.py +0 -0
  105. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/api/test_json_route.py +0 -0
  106. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/api/test_openapi.py +0 -0
  107. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/api/test_origin_ip_middleware.py +0 -0
  108. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/api/test_rate_limit.py +0 -0
  109. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/api/test_request_context.py +0 -0
  110. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/api/test_route.py +0 -0
  111. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/api/test_streaming_json_route.py +0 -0
  112. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/caching/test_dict_cache.py +0 -0
  113. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/caching/test_file_cache.py +0 -0
  114. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/cron/__init__.py +0 -0
  115. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/cron/test_cron_executor.py +0 -0
  116. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/locks/test_sql_lock.py +0 -0
  117. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/queues/conftest.py +0 -0
  118. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/queues/test_aqs_queue.py +0 -0
  119. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/queues/test_cosmos_queue.py +0 -0
  120. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/queues/test_message_queue_processor.py +0 -0
  121. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/queues/test_sql_queue.py +0 -0
  122. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/queues/test_sqs_queue.py +0 -0
  123. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/requester/__init__.py +0 -0
  124. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/requester/test_requester.py +0 -0
  125. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/test_database.py +0 -0
  126. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/test_entity_repository.py +0 -0
  127. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/test_exceptions.py +0 -0
  128. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/test_logging.py +0 -0
  129. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/util/__init__.py +0 -0
  130. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/util/test_async_util.py +0 -0
  131. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/util/test_chain_util.py +0 -0
  132. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/util/test_date_util.py +0 -0
  133. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/util/test_dict_util.py +0 -0
  134. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/util/test_file_util.py +0 -0
  135. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/util/test_json_util.py +0 -0
  136. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/util/test_list_util.py +0 -0
  137. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/util/test_process_util.py +0 -0
  138. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/util/test_string_util.py +0 -0
  139. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/util/test_url_util.py +0 -0
  140. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/web3/__init__.py +0 -0
  141. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/web3/test_eth_client_registry.py +0 -0
  142. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/tests/web3/test_rest_eth_client.py +0 -0
  143. {kiba_core-0.5.3.dev84 → kiba_core-0.5.3.dev85}/uv.lock +0 -0
@@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
8
8
  ## [Unreleased]
9
9
 
10
10
  ### Added
11
+ - [MINOR] Added optional `proxyUrl` to `Requester` to send all its requests through an HTTP(S) proxy, e.g. to reach an API that allowlists a fixed egress IP
11
12
  - [MINOR] Added optional `timeoutSeconds` (default 10) to `RestEthClient` to set the timeout of each request, e.g. a shorter one for an archive node so a degraded node fails fast
12
13
  - [MINOR] Added `UNDEFINED`, `Undefined` and `UpdateValue[T]` to `core.util.typing_util` for partial updates: `UpdateValue[T]` is `T` or the `UNDEFINED` sentinel, so an update can tell "not provided" apart from an explicit `None`. Use it as a pydantic field default (`title: UpdateValue[str | None] = UNDEFINED`); request input never validates to `UNDEFINED` (a JSON `"UNDEFINED"` stays a string), and `x is not UNDEFINED` narrows `x` to `T` for type checkers
13
14
  - [MINOR] Added `core.store.entity_repository.EntityRepository`, which reads and writes rows of a table as pydantic models: `create`, `update`, `upsert`, `upsert_many` (postgres and sqlite), `delete`, `list_many`, `get_first`, `get`, `get_one` and `get_one_or_none`. It exposes UUID columns as strings and datetimes as aware utc datetimes, dumps pydantic values in JSON columns, generates ids for UUID primary keys and stamps `createdDate`/`updatedDate` when the table has them; subclasses can override `_convert_value_from_db`/`_convert_value_to_db` for other columns
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kiba-core
3
- Version: 0.5.3.dev84
3
+ Version: 0.5.3.dev85
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
@@ -57,9 +57,9 @@ class RequesterTimeoutException(GatewayTimeoutException):
57
57
 
58
58
 
59
59
  class Requester:
60
- def __init__(self, headers: Mapping[str, str] | None = None, shouldFollowRedirects: bool = True) -> None:
60
+ def __init__(self, headers: Mapping[str, str] | None = None, shouldFollowRedirects: bool = True, proxyUrl: str | None = None) -> None:
61
61
  self.headers = headers or {}
62
- self.client = httpx.AsyncClient(follow_redirects=shouldFollowRedirects)
62
+ self.client = httpx.AsyncClient(follow_redirects=shouldFollowRedirects, proxy=proxyUrl)
63
63
 
64
64
  async def get(self, url: str, dataDict: Json | None = None, data: bytes | None = None, timeout: int | None = 10, headers: MutableMapping[str, str] | None = None, outputFilePath: str | None = None) -> KibaResponse:
65
65
  return await self.make_request(method='GET', url=url, dataDict=dataDict, data=data, timeout=timeout, headers=headers, outputFilePath=outputFilePath)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kiba-core
3
- Version: 0.5.3.dev84
3
+ Version: 0.5.3.dev85
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.dev84"
3
+ version = "0.5.3.dev85"
4
4
  description = "Kiba Labs' python utilities"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12, <4"
File without changes