haystack-ml-stack 0.4.1__tar.gz → 0.4.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.
Files changed (27) hide show
  1. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/PKG-INFO +1 -1
  2. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/pyproject.toml +1 -1
  3. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/_kafka.py +4 -0
  4. haystack_ml_stack-0.4.3/src/haystack_ml_stack/_version.py +1 -0
  5. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/app.py +3 -0
  6. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/dynamo.py +0 -1
  7. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack.egg-info/PKG-INFO +1 -1
  8. haystack_ml_stack-0.4.1/src/haystack_ml_stack/_version.py +0 -1
  9. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/README.md +0 -0
  10. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/setup.cfg +0 -0
  11. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/__init__.py +0 -0
  12. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/_serializers.py +0 -0
  13. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/cache.py +0 -0
  14. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/exceptions.py +0 -0
  15. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/generated/__init__.py +0 -0
  16. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/generated/v1/__init__.py +0 -0
  17. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/generated/v1/features_pb2.py +0 -0
  18. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/generated/v1/features_pb2.pyi +0 -0
  19. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/model_store.py +0 -0
  20. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/settings.py +0 -0
  21. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack/utils.py +0 -0
  22. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack.egg-info/SOURCES.txt +0 -0
  23. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack.egg-info/dependency_links.txt +0 -0
  24. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack.egg-info/requires.txt +0 -0
  25. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/src/haystack_ml_stack.egg-info/top_level.txt +0 -0
  26. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/tests/test_serializers.py +0 -0
  27. {haystack_ml_stack-0.4.1 → haystack_ml_stack-0.4.3}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: haystack-ml-stack
3
- Version: 0.4.1
3
+ Version: 0.4.3
4
4
  Summary: Functions related to Haystack ML
5
5
  Author-email: Oscar Vega <oscar@haystack.tv>
6
6
  License: MIT
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "haystack-ml-stack"
8
- version = "0.4.1"
8
+ version = "0.4.3"
9
9
  description = "Functions related to Haystack ML"
10
10
  readme = "README.md"
11
11
  authors = [{ name = "Oscar Vega", email = "oscar@haystack.tv" }]
@@ -7,6 +7,7 @@ import logging
7
7
  from .settings import Settings
8
8
  from ._version import __version__
9
9
  import hashlib
10
+ import datetime
10
11
 
11
12
  logger = logging.getLogger(__name__)
12
13
  SECURITY_PROTOCOL = "SASL_SSL"
@@ -22,6 +23,7 @@ async def send_to_kafka(
22
23
  state: dict,
23
24
  model_output: dict,
24
25
  monitoring_meta: dict,
26
+ processed_at: datetime.datetime,
25
27
  ) -> None:
26
28
  if topic is None or producer is None:
27
29
  return
@@ -37,10 +39,12 @@ async def send_to_kafka(
37
39
  "meta": {
38
40
  "monitoring": monitoring_meta,
39
41
  "haystack_ml_stack_version": __version__,
42
+ "playlist_id": str(playlist.get("playlistId", "")),
40
43
  "playlist_category": playlist.get("category"),
41
44
  "user_features": state.get("user_features", []),
42
45
  "stream_features": state.get("stream_features", []),
43
46
  },
47
+ "processed_at": processed_at.isoformat(),
44
48
  }
45
49
  delivery_future = await producer.produce(
46
50
  topic, orjson.dumps(message, default=default_serialization)
@@ -0,0 +1 @@
1
+ __version__ = "0.4.3"
@@ -9,6 +9,7 @@ from contextlib import asynccontextmanager, AsyncExitStack
9
9
  import traceback
10
10
  import json
11
11
  import asyncio
12
+ import datetime
12
13
 
13
14
  import aiobotocore.session
14
15
  from aiobotocore.config import AioConfig
@@ -320,6 +321,7 @@ def create_app(
320
321
  model_output,
321
322
  )
322
323
  if should_log_user(userid=userid, kafka_fraction=cfg.kafka_fraction):
324
+ processed_at = datetime.datetime.now(tz=datetime.UTC)
323
325
  background_tasks.add_task(
324
326
  send_to_kafka,
325
327
  producer=state["kafka_producer"],
@@ -330,6 +332,7 @@ def create_app(
330
332
  state=state,
331
333
  model_output=model_output,
332
334
  monitoring_meta=monitoring_meta,
335
+ processed_at=processed_at,
333
336
  )
334
337
  return jsonable_encoder(model_output)
335
338
 
@@ -150,7 +150,6 @@ async def set_all_features(
150
150
  user_cache_misses = len(cache_miss) - stream_cache_misses
151
151
  valid_cache_delays = list(v for v in cache_delay_obj.values() if v > 0)
152
152
  cache_delay = min(valid_cache_delays) if valid_cache_delays else 0
153
-
154
153
  if not cache_miss:
155
154
  return FeatureRetrievalMeta(
156
155
  user_cache_misses=0,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: haystack-ml-stack
3
- Version: 0.4.1
3
+ Version: 0.4.3
4
4
  Summary: Functions related to Haystack ML
5
5
  Author-email: Oscar Vega <oscar@haystack.tv>
6
6
  License: MIT
@@ -1 +0,0 @@
1
- __version__ = "0.4.1"