wizata-dsapi 1.2.3__tar.gz → 1.2.4__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 (54) hide show
  1. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/PKG-INFO +1 -1
  2. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/__init__.py +1 -1
  3. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/request.py +73 -18
  4. wizata_dsapi-1.2.4/wizata_dsapi/version.py +1 -0
  5. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi.egg-info/PKG-INFO +1 -1
  6. wizata_dsapi-1.2.3/wizata_dsapi/version.py +0 -1
  7. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/LICENSE.txt +0 -0
  8. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/README.rst +0 -0
  9. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/setup.cfg +0 -0
  10. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/setup.py +0 -0
  11. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/api_config.py +0 -0
  12. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/api_dto.py +0 -0
  13. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/api_interface.py +0 -0
  14. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/bucket.py +0 -0
  15. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/business_label.py +0 -0
  16. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/context.py +0 -0
  17. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/dataframe_toolkit.py +0 -0
  18. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/datapoint.py +0 -0
  19. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/datastore.py +0 -0
  20. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/ds_dataframe.py +0 -0
  21. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/dsapi_json_encoder.py +0 -0
  22. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/evaluation.py +0 -0
  23. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/execution.py +0 -0
  24. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/experiment.py +0 -0
  25. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/group_system.py +0 -0
  26. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/ilogger.py +0 -0
  27. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/insight.py +0 -0
  28. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/mlmodel.py +0 -0
  29. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/model_toolkit.py +0 -0
  30. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/models/__init__.py +0 -0
  31. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/models/common.py +0 -0
  32. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/paged_query_result.py +0 -0
  33. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/pipeline.py +0 -0
  34. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/pipeline_image.py +0 -0
  35. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/plot.py +0 -0
  36. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/plots/__init__.py +0 -0
  37. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/plots/common.py +0 -0
  38. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/script.py +0 -0
  39. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/scripts/__init__.py +0 -0
  40. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/scripts/common.py +0 -0
  41. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/solution_component.py +0 -0
  42. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/streamlit_utils.py +0 -0
  43. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/template.py +0 -0
  44. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/trigger.py +0 -0
  45. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/twin.py +0 -0
  46. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/twinregistration.py +0 -0
  47. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/wizard_function.py +0 -0
  48. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/wizard_request.py +0 -0
  49. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/wizata_dsapi_client.py +0 -0
  50. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi/words.py +0 -0
  51. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi.egg-info/SOURCES.txt +0 -0
  52. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi.egg-info/dependency_links.txt +0 -0
  53. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi.egg-info/requires.txt +0 -0
  54. {wizata_dsapi-1.2.3 → wizata_dsapi-1.2.4}/wizata_dsapi.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wizata_dsapi
3
- Version: 1.2.3
3
+ Version: 1.2.4
4
4
  Summary: Wizata Data Science Toolkit
5
5
  Author: Wizata S.A.
6
6
  Author-email: info@wizata.com
@@ -4,7 +4,7 @@ from .api_dto import ApiDto, VarType
4
4
  from .paged_query_result import PagedQueryResult
5
5
  from .plot import Plot
6
6
  from .mlmodel import MLModel, MLModelConfig
7
- from .request import Request, filter_map
7
+ from .request import Request, filter_map, RequestGroup, RequestGroupMap
8
8
  from .execution import Execution, ExecutionStatus, ExecutionStepLog, AbortedException
9
9
  from .experiment import Experiment
10
10
  from .ds_dataframe import DSDataFrame
@@ -1,5 +1,8 @@
1
1
  import uuid
2
2
  from datetime import datetime, timedelta, timezone
3
+
4
+ from reactivex.operators import group_by
5
+
3
6
  from .dataframe_toolkit import generate_epoch
4
7
  from .api_dto import ApiDto
5
8
 
@@ -13,23 +16,75 @@ filter_map = {
13
16
  }
14
17
 
15
18
 
16
- def _format_group(my_group:dict) -> dict:
19
+ class RequestGroupMap:
20
+ """
21
+ Define a mapping between a set of datapoints and their corresponding event datapoint.
22
+ :ivar event_hardware_id str: hardware id of the datapoint identifying event inside a group.
23
+ :ivar event_datapoint: datapoint complete definition corresponding to event_hardware_id.
24
+ :ivar datapoints_hardware_ids list: list of all related datapoints.
25
+ :ivar datapoints dict: dict with key as hardware id and value datapoint for all mapped datapoints.
26
+ """
27
+
28
+ def __init__(self,
29
+ event_hardware_id: str,
30
+ datapoints_hardware_ids: list):
31
+ self.event_hardware_id = event_hardware_id
32
+ self.datapoints_hardware_ids = datapoints_hardware_ids
33
+ self.event_datapoint = None
34
+ self.datapoints = {}
35
+
36
+
37
+ class RequestGroup:
17
38
  """
18
- verify and format a group
19
- :param my_group: group to check and format
20
- :return: formatted group
39
+ Define a group statement within a structured query.
21
40
  """
22
- if my_group is None or not isinstance(my_group, dict):
23
- raise ValueError(f"illegal group {my_group}")
24
- if "group_by" not in my_group:
25
- my_group["group_by"] = "id"
26
- elif my_group["group_by"] not in ["id" , "type"]:
27
- raise ValueError(f"illegal group {my_group['group_by']}")
28
- if "event_ids" in my_group:
29
- my_group["events"] = my_group["event_ids"]
30
- if "system_id" not in my_group or my_group["system_id"] is None or not isinstance(["system_id"], str):
31
- raise ValueError(f"please specify system_id in {my_group}")
32
- return my_group
41
+
42
+ def __init__(self,
43
+ system_id,
44
+ events: list = None,
45
+ group_by: str = "id",
46
+ start_delay: int = 0,
47
+ end_delay: int = 0,
48
+ maps: list = None):
49
+ self.system_id = system_id
50
+ self.group_by = group_by
51
+ self.events = events
52
+ self.maps = maps
53
+ self.start_delay = start_delay
54
+ self.end_delay = end_delay
55
+
56
+ @classmethod
57
+ def from_dict(cls, my_dict):
58
+ if my_dict is None or not isinstance(my_dict, dict):
59
+ raise ValueError(f"illegal group {my_dict}")
60
+
61
+ if "system_id" not in my_dict or my_dict["system_id"] is None:
62
+ if not isinstance(["system_id"], str) and not isinstance(my_dict["system_id"], int):
63
+ raise ValueError(f"please specify system_id in {my_dict}")
64
+
65
+ group = RequestGroup(
66
+ system_id=["system_id"]
67
+ )
68
+
69
+ # set group_by
70
+ if "group_by" in my_dict:
71
+ if my_dict["group_by"] not in ["id", "type"]:
72
+ raise ValueError(f"illegal group {my_dict['group_by']}")
73
+ group.group_by = my_dict["group_by"]
74
+
75
+ # one of the two is accepted to set events
76
+ if "event_ids" in my_dict:
77
+ group.events = my_dict["event_ids"]
78
+ if "events" in my_dict:
79
+ group.events = my_dict["events"]
80
+
81
+ if "start_delay" in my_dict:
82
+ group.start_delay = int(my_dict["start_delay"])
83
+
84
+ if "end_delay" in my_dict:
85
+ group.end_delay = int(my_dict["end_delay"])
86
+
87
+ return group
33
88
 
34
89
 
35
90
  class Request(ApiDto):
@@ -137,18 +192,18 @@ class Request(ApiDto):
137
192
  raise TypeError(f'field must be None, str or a list of str')
138
193
 
139
194
  @property
140
- def groups(self) -> list:
195
+ def groups(self) -> list[RequestGroup]:
141
196
  """
142
197
  return formatted groups list based on group
143
198
  :return:
144
199
  """
145
200
  if self.group is not None and self.group != {}:
146
201
  if not isinstance(self.group, list):
147
- return [_format_group(self.group)]
202
+ return [RequestGroup.from_dict(self.group)]
148
203
  else:
149
204
  groups = []
150
205
  for group in self.group:
151
- groups.append(_format_group(group))
206
+ groups.append(RequestGroup.from_dict(group))
152
207
  return groups
153
208
  else:
154
209
  return []
@@ -0,0 +1 @@
1
+ __version__ = "1.2.4"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wizata-dsapi
3
- Version: 1.2.3
3
+ Version: 1.2.4
4
4
  Summary: Wizata Data Science Toolkit
5
5
  Author: Wizata S.A.
6
6
  Author-email: info@wizata.com
@@ -1 +0,0 @@
1
- __version__ = "1.2.3"
File without changes
File without changes
File without changes
File without changes