kiba-core 0.5.3.dev74__tar.gz → 0.5.3.dev75__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.
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/CHANGELOG.md +1 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/PKG-INFO +1 -1
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/json_route.py +2 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/streaming_json_route.py +2 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/kiba_core.egg-info/PKG-INFO +1 -1
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/pyproject.toml +1 -1
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/api/test_json_route.py +11 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/api/test_streaming_json_route.py +11 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/.github/pull_request_template.md +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/.github/workflows/deploy.yml +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/.github/workflows/pull-request.yml +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/.github/workflows/release.yml +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/.gitignore +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/Dockerfile +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/README.md +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/api_request.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/api_response.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/authorizer.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/default_routes.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/health.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/middleware/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/middleware/database_connection_middleware.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/middleware/exception_handling_middleware.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/middleware/logging_middleware.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/middleware/origin_ip_middleware.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/middleware/server_headers_middleware.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/openapi.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/rate_limit.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/request_context.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/route.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/route_auth.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/route_metadata.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/aws_requester.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/caching/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/caching/cache.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/caching/dict_cache.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/caching/file_cache.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/cron/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/cron/api_request_cron_job_processor.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/cron/cron_executor.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/cron/cron_job_processor.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/cron/model.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/exceptions.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/http/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/http/basic_authentication.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/http/jwt.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/http/rest_method.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/locks/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/locks/lock.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/locks/model.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/locks/sql.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/logging.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/notifications/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/notifications/discord_client.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/notifications/notification_client.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/notifications/slack_client.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/py.typed +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/queues/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/queues/aqs.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/queues/cosmos.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/queues/message_queue.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/queues/message_queue_processor.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/queues/model.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/queues/sql.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/queues/sqs.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/requester/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/requester/requester.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/s3_manager.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/service_client.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/store/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/store/database.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/store/retriever.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/store/saver.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/async_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/chain_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/date_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/dict_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/file_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/hashing_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/http_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/json_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/list_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/process_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/string_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/typing_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/url_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/util/value_holder.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/web3/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/web3/eth_client.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/web3/eth_client_registry.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/web3/multicall3.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/kiba_core.egg-info/SOURCES.txt +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/kiba_core.egg-info/dependency_links.txt +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/kiba_core.egg-info/requires.txt +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/kiba_core.egg-info/top_level.txt +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/makefile +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/setup.cfg +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/api/test_api_response.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/api/test_authorizer.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/api/test_exception_handling_middleware.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/api/test_openapi.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/api/test_origin_ip_middleware.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/api/test_rate_limit.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/api/test_request_context.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/api/test_route.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/caching/test_dict_cache.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/caching/test_file_cache.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/cron/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/cron/test_cron_executor.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/locks/test_sql_lock.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/queues/conftest.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/queues/test_aqs_queue.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/queues/test_cosmos_queue.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/queues/test_message_queue_processor.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/queues/test_sql_queue.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/queues/test_sqs_queue.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/requester/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/requester/test_requester.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/test_database.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/test_exceptions.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/test_logging.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/util/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/util/test_async_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/util/test_chain_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/util/test_date_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/util/test_dict_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/util/test_file_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/util/test_json_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/util/test_list_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/util/test_process_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/util/test_string_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/util/test_url_util.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/web3/__init__.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/web3/test_eth_client_registry.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/web3/test_rest_eth_client.py +0 -0
- {kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/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
|
+
- [PATCH] Fixed `json_route` and `streaming_json_route` returning a 500 when the JSON body isn't an object (e.g. `true` or `[1]`); they now raise `BadRequestException` (400)
|
|
11
12
|
- [MINOR] Added `shouldNotifyRetriedFailures` (default `True`) to `MessageQueueProcessor`: when `False`, failure notifications are only sent once the queue gives up on a message, not for failures it will retry. `MessageQueue.fail_message` now returns whether the queue scheduled another attempt: `SqlMessageQueue` and `CosmosMessageQueue` return `True` until `maxAttempts` is reached, while `SqsMessageQueue` and `AqsMessageQueue` always return `False` as the platform decides on redelivery, so they keep notifying every failure
|
|
12
13
|
- [MAJOR] Updated `CosmosMessageQueue` to retry failed messages like `SqlMessageQueue`: added `maxAttempts` (default 3) and `failureRetryDelaySeconds` (default 60). `fail_message` reschedules the message with linear backoff and stores `lastError`, and a visible message whose lease expired counts as an attempt when it is claimed again. Once `postCount` reaches `maxAttempts` the message is removed, along with its deduplication item. Previously failed or abandoned messages reappeared once their lease expired and were retried forever
|
|
13
14
|
- [MINOR] Added `pollLogIntervalSeconds` (default 600) to `MessageQueueProcessor`: `Retrieving messages...` is now logged on the first poll and then at most once per interval instead of on every poll, so it still shows the worker is alive without flooding the logs; pass `0` to log every poll as before
|
|
@@ -30,6 +30,8 @@ def json_route[ApiRequest: BaseModel, ApiResponse: BaseModel](
|
|
|
30
30
|
body = typing.cast(JsonObject, json_util.loads(bodyBytes.decode()))
|
|
31
31
|
except json_util.JsonDecodeException as exception:
|
|
32
32
|
raise BadRequestException(f'Invalid JSON body: {exception}')
|
|
33
|
+
if not isinstance(body, dict):
|
|
34
|
+
raise BadRequestException('Invalid JSON body: expected an object')
|
|
33
35
|
allParams = {**pathParams, **body, **queryParams}
|
|
34
36
|
try:
|
|
35
37
|
requestParams = requestType(**allParams)
|
|
@@ -39,6 +39,8 @@ def streaming_json_route[ApiRequest: BaseModel, ApiResponse: BaseModel](
|
|
|
39
39
|
body = typing.cast(JsonObject, json_util.loads(bodyBytes.decode()))
|
|
40
40
|
except json_util.JsonDecodeException as exception:
|
|
41
41
|
raise BadRequestException(f'Invalid JSON body: {exception}')
|
|
42
|
+
if not isinstance(body, dict):
|
|
43
|
+
raise BadRequestException('Invalid JSON body: expected an object')
|
|
42
44
|
allParams = {**pathParams, **body, **queryParams}
|
|
43
45
|
try:
|
|
44
46
|
requestParams = requestType(**allParams)
|
|
@@ -134,3 +134,14 @@ def test_json_route_empty_body(client):
|
|
|
134
134
|
data = response.json()
|
|
135
135
|
assert data["request_name"] == "EmptyBody"
|
|
136
136
|
assert data["request_age"] == 50
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
@pytest.mark.parametrize("content", ["true", "[1, 2]", "\"text\"", "null", "1"])
|
|
140
|
+
def test_json_route_with_non_object_json(client, content):
|
|
141
|
+
response = client.post(
|
|
142
|
+
"/test?name=NonObject&age=1",
|
|
143
|
+
content=content,
|
|
144
|
+
headers={"Content-Type": "application/json"}
|
|
145
|
+
)
|
|
146
|
+
assert response.status_code == 400
|
|
147
|
+
assert "expected an object" in response.json().get("message", "")
|
|
@@ -184,3 +184,14 @@ def test_error_thrown_by_endpoint(client):
|
|
|
184
184
|
data = dataList[0]
|
|
185
185
|
assert data["request_name"] == "Name"
|
|
186
186
|
assert data["request_age"] == 30
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
@pytest.mark.parametrize("content", ["true", "[1, 2]", "\"text\"", "null", "1"])
|
|
190
|
+
def test_streaming_json_route_with_non_object_json(client, content):
|
|
191
|
+
response = client.post(
|
|
192
|
+
"/test?name=NonObject&age=1",
|
|
193
|
+
content=content,
|
|
194
|
+
headers={"Content-Type": "application/json"}
|
|
195
|
+
)
|
|
196
|
+
assert response.status_code == 400
|
|
197
|
+
assert "expected an object" in response.json().get("message", "")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/middleware/exception_handling_middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/core/api/middleware/server_headers_middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/api/test_exception_handling_middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kiba_core-0.5.3.dev74 → kiba_core-0.5.3.dev75}/tests/queues/test_message_queue_processor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|