haystack-ml-stack 0.4.6__tar.gz → 0.4.7__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.4.6 → haystack_ml_stack-0.4.7}/PKG-INFO +1 -1
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/README.md +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/pyproject.toml +1 -1
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/__init__.py +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/_kafka.py +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/_serializers.py +11 -0
- haystack_ml_stack-0.4.7/src/haystack_ml_stack/_version.py +1 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/app.py +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/cache.py +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/exceptions.py +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/generated/__init__.py +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/generated/v1/__init__.py +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/generated/v1/features_pb2.py +4 -4
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/generated/v1/features_pb2.pyi +23 -23
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/model_store.py +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/settings.py +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack.egg-info/PKG-INFO +1 -1
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack.egg-info/SOURCES.txt +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack.egg-info/dependency_links.txt +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack.egg-info/requires.txt +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack.egg-info/top_level.txt +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/tests/test_serializers.py +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/tests/test_utils.py +0 -0
- haystack_ml_stack-0.4.6/src/haystack_ml_stack/_version.py +0 -1
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/setup.cfg +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/dynamo.py +0 -0
- {haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/utils.py +0 -0
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -422,6 +422,17 @@ global_playlist_stats_v1_features: list[FeatureRegistryId] = [
|
|
|
422
422
|
feature_id="PLAYLIST_CATEGORY_STATS#1D#TV",
|
|
423
423
|
version="v1",
|
|
424
424
|
),
|
|
425
|
+
# Same feature structure but with an updated filter for the source query
|
|
426
|
+
FeatureRegistryId(
|
|
427
|
+
entity_type="GLOBAL",
|
|
428
|
+
feature_id="PLAYLIST_CATEGORY_STATS_V2#1D#MOBILE",
|
|
429
|
+
version="v1",
|
|
430
|
+
),
|
|
431
|
+
FeatureRegistryId(
|
|
432
|
+
entity_type="GLOBAL",
|
|
433
|
+
feature_id="PLAYLIST_CATEGORY_STATS_V2#1D#TV",
|
|
434
|
+
version="v1",
|
|
435
|
+
),
|
|
425
436
|
]
|
|
426
437
|
|
|
427
438
|
user_playlist_stats_v1_features: list[FeatureRegistryId] = [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.4.7"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/generated/__init__.py
RENAMED
|
File without changes
|
{haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack/generated/v1/__init__.py
RENAMED
|
File without changes
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
3
|
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
4
|
# source: features.proto
|
|
5
|
-
# Protobuf Python Version:
|
|
5
|
+
# Protobuf Python Version: 7.34.1
|
|
6
6
|
"""Generated protocol buffer code."""
|
|
7
7
|
from google.protobuf import descriptor as _descriptor
|
|
8
8
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
@@ -11,9 +11,9 @@ from google.protobuf import symbol_database as _symbol_database
|
|
|
11
11
|
from google.protobuf.internal import builder as _builder
|
|
12
12
|
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
13
|
_runtime_version.Domain.PUBLIC,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
7,
|
|
15
|
+
34,
|
|
16
|
+
1,
|
|
17
17
|
'',
|
|
18
18
|
'features.proto'
|
|
19
19
|
)
|
|
@@ -7,7 +7,7 @@ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
|
|
|
7
7
|
DESCRIPTOR: _descriptor.FileDescriptor
|
|
8
8
|
|
|
9
9
|
class EntryContextCounts(_message.Message):
|
|
10
|
-
__slots__ = ()
|
|
10
|
+
__slots__ = ("attempts", "watched")
|
|
11
11
|
ATTEMPTS_FIELD_NUMBER: _ClassVar[int]
|
|
12
12
|
WATCHED_FIELD_NUMBER: _ClassVar[int]
|
|
13
13
|
attempts: int
|
|
@@ -15,7 +15,7 @@ class EntryContextCounts(_message.Message):
|
|
|
15
15
|
def __init__(self, attempts: _Optional[int] = ..., watched: _Optional[int] = ...) -> None: ...
|
|
16
16
|
|
|
17
17
|
class SelectCounts(_message.Message):
|
|
18
|
-
__slots__ = ()
|
|
18
|
+
__slots__ = ("total_selects", "total_selects_and_watched", "total_browsed")
|
|
19
19
|
TOTAL_SELECTS_FIELD_NUMBER: _ClassVar[int]
|
|
20
20
|
TOTAL_SELECTS_AND_WATCHED_FIELD_NUMBER: _ClassVar[int]
|
|
21
21
|
TOTAL_BROWSED_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -25,7 +25,7 @@ class SelectCounts(_message.Message):
|
|
|
25
25
|
def __init__(self, total_selects: _Optional[int] = ..., total_selects_and_watched: _Optional[int] = ..., total_browsed: _Optional[int] = ...) -> None: ...
|
|
26
26
|
|
|
27
27
|
class EntryContextPWatched(_message.Message):
|
|
28
|
-
__slots__ = ()
|
|
28
|
+
__slots__ = ("autoplay", "sel_thumb", "choose_next", "ch_swtch", "launch_first_in_session")
|
|
29
29
|
AUTOPLAY_FIELD_NUMBER: _ClassVar[int]
|
|
30
30
|
SEL_THUMB_FIELD_NUMBER: _ClassVar[int]
|
|
31
31
|
CHOOSE_NEXT_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -39,7 +39,7 @@ class EntryContextPWatched(_message.Message):
|
|
|
39
39
|
def __init__(self, autoplay: _Optional[_Union[EntryContextCounts, _Mapping]] = ..., sel_thumb: _Optional[_Union[EntryContextCounts, _Mapping]] = ..., choose_next: _Optional[_Union[EntryContextCounts, _Mapping]] = ..., ch_swtch: _Optional[_Union[EntryContextCounts, _Mapping]] = ..., launch_first_in_session: _Optional[_Union[EntryContextCounts, _Mapping]] = ...) -> None: ...
|
|
40
40
|
|
|
41
41
|
class PositionPSelect(_message.Message):
|
|
42
|
-
__slots__ = ()
|
|
42
|
+
__slots__ = ("first_pos", "second_pos", "third_pos", "rest_pos")
|
|
43
43
|
FIRST_POS_FIELD_NUMBER: _ClassVar[int]
|
|
44
44
|
SECOND_POS_FIELD_NUMBER: _ClassVar[int]
|
|
45
45
|
THIRD_POS_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -51,7 +51,7 @@ class PositionPSelect(_message.Message):
|
|
|
51
51
|
def __init__(self, first_pos: _Optional[_Union[SelectCounts, _Mapping]] = ..., second_pos: _Optional[_Union[SelectCounts, _Mapping]] = ..., third_pos: _Optional[_Union[SelectCounts, _Mapping]] = ..., rest_pos: _Optional[_Union[SelectCounts, _Mapping]] = ...) -> None: ...
|
|
52
52
|
|
|
53
53
|
class BrowsedDebiasedPositionPSelects(_message.Message):
|
|
54
|
-
__slots__ = ()
|
|
54
|
+
__slots__ = ("up_to_4_browsed", "all_browsed")
|
|
55
55
|
UP_TO_4_BROWSED_FIELD_NUMBER: _ClassVar[int]
|
|
56
56
|
ALL_BROWSED_FIELD_NUMBER: _ClassVar[int]
|
|
57
57
|
up_to_4_browsed: PositionPSelect
|
|
@@ -59,7 +59,7 @@ class BrowsedDebiasedPositionPSelects(_message.Message):
|
|
|
59
59
|
def __init__(self, up_to_4_browsed: _Optional[_Union[PositionPSelect, _Mapping]] = ..., all_browsed: _Optional[_Union[PositionPSelect, _Mapping]] = ...) -> None: ...
|
|
60
60
|
|
|
61
61
|
class PlaylistStatsForGlobal(_message.Message):
|
|
62
|
-
__slots__ = ()
|
|
62
|
+
__slots__ = ("watched_count", "not_watched_count", "capped_watched_secs", "capped_not_watched_secs", "watched_secs", "not_watched_secs")
|
|
63
63
|
WATCHED_COUNT_FIELD_NUMBER: _ClassVar[int]
|
|
64
64
|
NOT_WATCHED_COUNT_FIELD_NUMBER: _ClassVar[int]
|
|
65
65
|
CAPPED_WATCHED_SECS_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -75,7 +75,7 @@ class PlaylistStatsForGlobal(_message.Message):
|
|
|
75
75
|
def __init__(self, watched_count: _Optional[int] = ..., not_watched_count: _Optional[int] = ..., capped_watched_secs: _Optional[float] = ..., capped_not_watched_secs: _Optional[float] = ..., watched_secs: _Optional[float] = ..., not_watched_secs: _Optional[float] = ...) -> None: ...
|
|
76
76
|
|
|
77
77
|
class PlaylistStatsForUser(_message.Message):
|
|
78
|
-
__slots__ = ()
|
|
78
|
+
__slots__ = ("total_days", "start_days", "active_days", "total_watched", "capped_total_watched")
|
|
79
79
|
TOTAL_DAYS_FIELD_NUMBER: _ClassVar[int]
|
|
80
80
|
START_DAYS_FIELD_NUMBER: _ClassVar[int]
|
|
81
81
|
ACTIVE_DAYS_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -89,7 +89,7 @@ class PlaylistStatsForUser(_message.Message):
|
|
|
89
89
|
def __init__(self, total_days: _Optional[int] = ..., start_days: _Optional[int] = ..., active_days: _Optional[int] = ..., total_watched: _Optional[float] = ..., capped_total_watched: _Optional[float] = ...) -> None: ...
|
|
90
90
|
|
|
91
91
|
class Channel(_message.Message):
|
|
92
|
-
__slots__ = ()
|
|
92
|
+
__slots__ = ("name", "category_group", "start_date")
|
|
93
93
|
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
94
94
|
CATEGORY_GROUP_FIELD_NUMBER: _ClassVar[int]
|
|
95
95
|
START_DATE_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -99,7 +99,7 @@ class Channel(_message.Message):
|
|
|
99
99
|
def __init__(self, name: _Optional[str] = ..., category_group: _Optional[str] = ..., start_date: _Optional[int] = ...) -> None: ...
|
|
100
100
|
|
|
101
101
|
class StreamPSelect(_message.Message):
|
|
102
|
-
__slots__ = ()
|
|
102
|
+
__slots__ = ("version", "data")
|
|
103
103
|
VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
104
104
|
DATA_FIELD_NUMBER: _ClassVar[int]
|
|
105
105
|
version: int
|
|
@@ -107,7 +107,7 @@ class StreamPSelect(_message.Message):
|
|
|
107
107
|
def __init__(self, version: _Optional[int] = ..., data: _Optional[_Union[BrowsedDebiasedPositionPSelects, _Mapping]] = ...) -> None: ...
|
|
108
108
|
|
|
109
109
|
class StreamPWatched(_message.Message):
|
|
110
|
-
__slots__ = ()
|
|
110
|
+
__slots__ = ("version", "data")
|
|
111
111
|
VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
112
112
|
DATA_FIELD_NUMBER: _ClassVar[int]
|
|
113
113
|
version: int
|
|
@@ -115,7 +115,7 @@ class StreamPWatched(_message.Message):
|
|
|
115
115
|
def __init__(self, version: _Optional[int] = ..., data: _Optional[_Union[EntryContextPWatched, _Mapping]] = ...) -> None: ...
|
|
116
116
|
|
|
117
117
|
class UserPWatched(_message.Message):
|
|
118
|
-
__slots__ = ()
|
|
118
|
+
__slots__ = ("version", "data")
|
|
119
119
|
VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
120
120
|
DATA_FIELD_NUMBER: _ClassVar[int]
|
|
121
121
|
version: int
|
|
@@ -123,9 +123,9 @@ class UserPWatched(_message.Message):
|
|
|
123
123
|
def __init__(self, version: _Optional[int] = ..., data: _Optional[_Union[EntryContextPWatched, _Mapping]] = ...) -> None: ...
|
|
124
124
|
|
|
125
125
|
class UserPersonalizingPWatched(_message.Message):
|
|
126
|
-
__slots__ = ()
|
|
126
|
+
__slots__ = ("version", "data")
|
|
127
127
|
class DataEntry(_message.Message):
|
|
128
|
-
__slots__ = ()
|
|
128
|
+
__slots__ = ("key", "value")
|
|
129
129
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
130
130
|
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
131
131
|
key: str
|
|
@@ -138,7 +138,7 @@ class UserPersonalizingPWatched(_message.Message):
|
|
|
138
138
|
def __init__(self, version: _Optional[int] = ..., data: _Optional[_Mapping[str, EntryContextPWatched]] = ...) -> None: ...
|
|
139
139
|
|
|
140
140
|
class UserPSelect(_message.Message):
|
|
141
|
-
__slots__ = ()
|
|
141
|
+
__slots__ = ("version", "data")
|
|
142
142
|
VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
143
143
|
DATA_FIELD_NUMBER: _ClassVar[int]
|
|
144
144
|
version: int
|
|
@@ -146,9 +146,9 @@ class UserPSelect(_message.Message):
|
|
|
146
146
|
def __init__(self, version: _Optional[int] = ..., data: _Optional[_Union[BrowsedDebiasedPositionPSelects, _Mapping]] = ...) -> None: ...
|
|
147
147
|
|
|
148
148
|
class UserPersonalizingPSelect(_message.Message):
|
|
149
|
-
__slots__ = ()
|
|
149
|
+
__slots__ = ("version", "data")
|
|
150
150
|
class DataEntry(_message.Message):
|
|
151
|
-
__slots__ = ()
|
|
151
|
+
__slots__ = ("key", "value")
|
|
152
152
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
153
153
|
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
154
154
|
key: str
|
|
@@ -161,9 +161,9 @@ class UserPersonalizingPSelect(_message.Message):
|
|
|
161
161
|
def __init__(self, version: _Optional[int] = ..., data: _Optional[_Mapping[str, BrowsedDebiasedPositionPSelects]] = ...) -> None: ...
|
|
162
162
|
|
|
163
163
|
class StreamSimilarityScores(_message.Message):
|
|
164
|
-
__slots__ = ()
|
|
164
|
+
__slots__ = ("version", "data")
|
|
165
165
|
class DataEntry(_message.Message):
|
|
166
|
-
__slots__ = ()
|
|
166
|
+
__slots__ = ("key", "value")
|
|
167
167
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
168
168
|
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
169
169
|
key: str
|
|
@@ -176,9 +176,9 @@ class StreamSimilarityScores(_message.Message):
|
|
|
176
176
|
def __init__(self, version: _Optional[int] = ..., data: _Optional[_Mapping[str, float]] = ...) -> None: ...
|
|
177
177
|
|
|
178
178
|
class GlobalPlaylistStats(_message.Message):
|
|
179
|
-
__slots__ = ()
|
|
179
|
+
__slots__ = ("version", "data")
|
|
180
180
|
class DataEntry(_message.Message):
|
|
181
|
-
__slots__ = ()
|
|
181
|
+
__slots__ = ("key", "value")
|
|
182
182
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
183
183
|
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
184
184
|
key: str
|
|
@@ -191,9 +191,9 @@ class GlobalPlaylistStats(_message.Message):
|
|
|
191
191
|
def __init__(self, version: _Optional[int] = ..., data: _Optional[_Mapping[str, PlaylistStatsForGlobal]] = ...) -> None: ...
|
|
192
192
|
|
|
193
193
|
class UserPlaylistStats(_message.Message):
|
|
194
|
-
__slots__ = ()
|
|
194
|
+
__slots__ = ("version", "data")
|
|
195
195
|
class DataEntry(_message.Message):
|
|
196
|
-
__slots__ = ()
|
|
196
|
+
__slots__ = ("key", "value")
|
|
197
197
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
198
198
|
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
199
199
|
key: str
|
|
@@ -206,7 +206,7 @@ class UserPlaylistStats(_message.Message):
|
|
|
206
206
|
def __init__(self, version: _Optional[int] = ..., data: _Optional[_Mapping[str, PlaylistStatsForUser]] = ...) -> None: ...
|
|
207
207
|
|
|
208
208
|
class GlobalChannels(_message.Message):
|
|
209
|
-
__slots__ = ()
|
|
209
|
+
__slots__ = ("version", "data")
|
|
210
210
|
VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
211
211
|
DATA_FIELD_NUMBER: _ClassVar[int]
|
|
212
212
|
version: int
|
|
File without changes
|
|
File without changes
|
{haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack.egg-info/requires.txt
RENAMED
|
File without changes
|
{haystack_ml_stack-0.4.6 → haystack_ml_stack-0.4.7}/src/haystack_ml_stack.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.4.6"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|