haystack-ml-stack 0.3.2__tar.gz → 0.3.3__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.
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/PKG-INFO +1 -1
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/pyproject.toml +1 -1
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/__init__.py +1 -1
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/app.py +2 -1
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/utils.py +1 -1
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack.egg-info/PKG-INFO +1 -1
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/tests/test_utils.py +52 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/README.md +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/setup.cfg +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/_serializers.py +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/cache.py +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/dynamo.py +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/exceptions.py +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/generated/__init__.py +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/generated/v1/__init__.py +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/generated/v1/features_pb2.py +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/generated/v1/features_pb2.pyi +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/model_store.py +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/settings.py +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack.egg-info/SOURCES.txt +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack.egg-info/dependency_links.txt +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack.egg-info/requires.txt +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack.egg-info/top_level.txt +0 -0
- {haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/tests/test_serializers.py +0 -0
|
@@ -6,6 +6,7 @@ from http import HTTPStatus
|
|
|
6
6
|
from typing import Any, Dict, List, Optional
|
|
7
7
|
import time
|
|
8
8
|
from contextlib import asynccontextmanager, AsyncExitStack
|
|
9
|
+
import traceback
|
|
9
10
|
|
|
10
11
|
import aiobotocore.session
|
|
11
12
|
from aiobotocore.config import AioConfig
|
|
@@ -253,7 +254,7 @@ def create_app(
|
|
|
253
254
|
model_output = model["predict"](model_input, model["params"])
|
|
254
255
|
predict_end = time.perf_counter_ns()
|
|
255
256
|
except Exception as e:
|
|
256
|
-
logger.error("Model prediction failed: %s",
|
|
257
|
+
logger.error("Model prediction failed: \n%s", traceback.format_exc())
|
|
257
258
|
raise HTTPException(
|
|
258
259
|
status_code=HTTPStatus.INTERNAL_SERVER_ERROR,
|
|
259
260
|
detail="Model prediction failed",
|
|
@@ -372,6 +372,58 @@ def test_stream_pwatched_cleanup():
|
|
|
372
372
|
assert (actual == expected).all()
|
|
373
373
|
|
|
374
374
|
|
|
375
|
+
def test_device_stream_pwatched_cleanup():
|
|
376
|
+
stream_pwatched_data = {
|
|
377
|
+
"version": 1,
|
|
378
|
+
"data": {
|
|
379
|
+
"autoplay": {"attempts": 1, "watched": 1},
|
|
380
|
+
"ch_swtch": {"attempts": 2, "watched": 0},
|
|
381
|
+
},
|
|
382
|
+
}
|
|
383
|
+
stream_pwatched = features_pb2_v1.StreamPWatched()
|
|
384
|
+
ProtoParseDict(js_dict=stream_pwatched_data, message=stream_pwatched)
|
|
385
|
+
stream = {"PWATCHED#24H#TV": stream_pwatched}
|
|
386
|
+
out = {}
|
|
387
|
+
utils.device_watched_count_cleanups(
|
|
388
|
+
stream=stream,
|
|
389
|
+
entry_contexts=["autoplay", "ch_swtch", "sel_thumb"],
|
|
390
|
+
device_type="TV",
|
|
391
|
+
out=out,
|
|
392
|
+
)
|
|
393
|
+
expected = pd.Series(
|
|
394
|
+
{
|
|
395
|
+
"STREAM_AUTOPLAY_TV_24H_TOTAL_ATTEMPTS": 1,
|
|
396
|
+
"STREAM_AUTOPLAY_TV_24H_TOTAL_WATCHED": 1,
|
|
397
|
+
"STREAM_CH_SWTCH_TV_24H_TOTAL_ATTEMPTS": 2,
|
|
398
|
+
"STREAM_CH_SWTCH_TV_24H_TOTAL_WATCHED": 0,
|
|
399
|
+
"STREAM_SEL_THUMB_TV_24H_TOTAL_ATTEMPTS": 0,
|
|
400
|
+
"STREAM_SEL_THUMB_TV_24H_TOTAL_WATCHED": 0,
|
|
401
|
+
}
|
|
402
|
+
)
|
|
403
|
+
actual = pd.Series(out).loc[expected.index]
|
|
404
|
+
assert (actual == expected).all()
|
|
405
|
+
stream = {"PWATCHED#24H#MOBILE": stream_pwatched}
|
|
406
|
+
out = {}
|
|
407
|
+
utils.device_watched_count_cleanups(
|
|
408
|
+
stream=stream,
|
|
409
|
+
entry_contexts=["autoplay", "ch_swtch", "sel_thumb"],
|
|
410
|
+
device_type="MOBILE",
|
|
411
|
+
out=out,
|
|
412
|
+
)
|
|
413
|
+
expected = pd.Series(
|
|
414
|
+
{
|
|
415
|
+
"STREAM_AUTOPLAY_MOBILE_24H_TOTAL_ATTEMPTS": 1,
|
|
416
|
+
"STREAM_AUTOPLAY_MOBILE_24H_TOTAL_WATCHED": 1,
|
|
417
|
+
"STREAM_CH_SWTCH_MOBILE_24H_TOTAL_ATTEMPTS": 2,
|
|
418
|
+
"STREAM_CH_SWTCH_MOBILE_24H_TOTAL_WATCHED": 0,
|
|
419
|
+
"STREAM_SEL_THUMB_MOBILE_24H_TOTAL_ATTEMPTS": 0,
|
|
420
|
+
"STREAM_SEL_THUMB_MOBILE_24H_TOTAL_WATCHED": 0,
|
|
421
|
+
}
|
|
422
|
+
)
|
|
423
|
+
actual = pd.Series(out).loc[expected.index]
|
|
424
|
+
assert (actual == expected).all()
|
|
425
|
+
|
|
426
|
+
|
|
375
427
|
def test_stream_global_pselect_cleanup():
|
|
376
428
|
stream_pselect_data = {
|
|
377
429
|
"version": 1,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/generated/__init__.py
RENAMED
|
File without changes
|
{haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack/generated/v1/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack.egg-info/requires.txt
RENAMED
|
File without changes
|
{haystack_ml_stack-0.3.2 → haystack_ml_stack-0.3.3}/src/haystack_ml_stack.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|