layrz-sdk 3.0.2__tar.gz → 3.0.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.

Potentially problematic release.


This version of layrz-sdk might be problematic. Click here for more details.

Files changed (74) hide show
  1. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/PKG-INFO +1 -1
  2. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/__init__.py +3 -3
  3. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/__init__.py +1 -0
  4. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/line.py +52 -2
  5. layrz_sdk-3.0.4/layrz_sdk/entities/charts/render_technology.py +24 -0
  6. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk.egg-info/PKG-INFO +1 -1
  7. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk.egg-info/SOURCES.txt +1 -0
  8. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/pyproject.toml +1 -1
  9. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/LICENSE +0 -0
  10. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/README.md +0 -0
  11. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/__init__.py +0 -0
  12. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/broadcasts/__init__.py +0 -0
  13. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/broadcasts/request.py +0 -0
  14. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/broadcasts/response.py +0 -0
  15. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/broadcasts/result.py +0 -0
  16. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/broadcasts/service.py +0 -0
  17. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/broadcasts/status.py +0 -0
  18. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/cases/__init__.py +0 -0
  19. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/cases/case.py +0 -0
  20. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/cases/comment.py +0 -0
  21. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/cases/trigger.py +0 -0
  22. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/alignment.py +0 -0
  23. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/bar.py +0 -0
  24. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/column.py +0 -0
  25. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/configuration.py +0 -0
  26. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/data_type.py +0 -0
  27. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/exceptions.py +0 -0
  28. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/html.py +0 -0
  29. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/map.py +0 -0
  30. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/number.py +0 -0
  31. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/pie.py +0 -0
  32. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/radar.py +0 -0
  33. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/radial_bar.py +0 -0
  34. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/scatter.py +0 -0
  35. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/serie.py +0 -0
  36. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/serie_type.py +0 -0
  37. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/table.py +0 -0
  38. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/charts/timeline.py +0 -0
  39. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/checkpoints/__init__.py +0 -0
  40. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/checkpoints/checkpoint.py +0 -0
  41. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/checkpoints/geofence.py +0 -0
  42. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/checkpoints/waypoint.py +0 -0
  43. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/events/__init__.py +0 -0
  44. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/events/event.py +0 -0
  45. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/formatting/__init__.py +0 -0
  46. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/formatting/text_align.py +0 -0
  47. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/general/__init__.py +0 -0
  48. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/general/asset.py +0 -0
  49. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/general/asset_operation_mode.py +0 -0
  50. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/general/custom_field.py +0 -0
  51. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/general/device.py +0 -0
  52. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/general/sensor.py +0 -0
  53. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/general/user.py +0 -0
  54. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/repcom/__init__.py +0 -0
  55. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/repcom/transaction.py +0 -0
  56. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/reports/__init__.py +0 -0
  57. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/reports/col.py +0 -0
  58. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/reports/format.py +0 -0
  59. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/reports/header.py +0 -0
  60. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/reports/page.py +0 -0
  61. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/reports/report.py +0 -0
  62. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/reports/row.py +0 -0
  63. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/telemetry/__init__.py +0 -0
  64. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/telemetry/message.py +0 -0
  65. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/entities/telemetry/position.py +0 -0
  66. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/helpers/__init__.py +0 -0
  67. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/helpers/color.py +0 -0
  68. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/lcl/__init__.py +0 -0
  69. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk/lcl/core.py +0 -0
  70. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk.egg-info/dependency_links.txt +0 -0
  71. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk.egg-info/requires.txt +0 -0
  72. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/layrz_sdk.egg-info/top_level.txt +0 -0
  73. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/setup.cfg +0 -0
  74. {layrz_sdk-3.0.2 → layrz_sdk-3.0.4}/tests/test_lcl.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: layrz-sdk
3
- Version: 3.0.2
3
+ Version: 3.0.4
4
4
  Summary: Layrz SDK for Python
5
5
  Author-email: "Golden M, Inc." <software@goldenm.com>
6
6
  Maintainer-email: Kenny Mochizuki <kenny@goldenm.com>, Luis Reyes <lreyes@goldenm.com>, Kasen Li <kli@goldenm.com>
@@ -5,9 +5,9 @@ from .broadcasts import (BroadcastRequest, BroadcastResponse, BroadcastResult, B
5
5
  from .cases import Case, CaseIgnoredStatus, CaseStatus, Comment, Trigger
6
6
  # Charts entities
7
7
  from .charts import (AreaChart, BarChart, ChartAlignment, ChartConfiguration, ChartDataSerie, ChartDataSerieType,
8
- ChartDataType, ChartException, ColumnChart, HTMLChart, LineChart, MapCenterType, MapChart,
9
- MapPoint, NumberChart, PieChart, RadarChart, RadialBarChart, ScatterChart, ScatterSerie,
10
- ScatterSerieItem, TableChart, TableHeader, TableRow, TimelineChart, TimelineSerie,
8
+ ChartDataType, ChartException, ChartRenderTechnology, ColumnChart, HTMLChart, LineChart,
9
+ MapCenterType, MapChart, MapPoint, NumberChart, PieChart, RadarChart, RadialBarChart, ScatterChart,
10
+ ScatterSerie, ScatterSerieItem, TableChart, TableHeader, TableRow, TimelineChart, TimelineSerie,
11
11
  TimelineSerieItem)
12
12
  # Checkpoints entities
13
13
  from .checkpoints import Checkpoint, Geofence, Waypoint
@@ -12,6 +12,7 @@ from .number import NumberChart
12
12
  from .pie import PieChart
13
13
  from .radar import RadarChart
14
14
  from .radial_bar import RadialBarChart
15
+ from .render_technology import ChartRenderTechnology
15
16
  from .scatter import ScatterChart, ScatterSerie, ScatterSerieItem
16
17
  from .serie import ChartDataSerie
17
18
  from .serie_type import ChartDataSerieType
@@ -3,6 +3,7 @@
3
3
  from .alignment import ChartAlignment
4
4
  from .data_type import ChartDataType
5
5
  from .exceptions import ChartException
6
+ from .render_technology import ChartRenderTechnology
6
7
  from .serie import ChartDataSerie
7
8
  from .serie_type import ChartDataSerieType
8
9
 
@@ -48,7 +49,7 @@ class LineChart:
48
49
  raise ChartException('align must be an instance of ChartAlignment')
49
50
  self.align = align
50
51
 
51
- def render(self, use_new_definition: bool = False) -> dict | list[dict]:
52
+ def render(self, technology: ChartRenderTechnology) -> dict | list[dict]:
52
53
  """
53
54
  Render chart to a graphic Library.
54
55
  We have two graphic libraries: GRAPHIC and CANVASJS.
@@ -57,18 +58,67 @@ class LineChart:
57
58
  CANVASJS is a Javascript chart library. This is the default option.
58
59
  """
59
60
 
60
- if use_new_definition:
61
+ if technology == ChartRenderTechnology.GRAPHIC:
61
62
  return {
62
63
  'library': 'GRAPHIC',
63
64
  'chart': 'LINE',
64
65
  'configuration': self._render_graphic(),
65
66
  }
67
+
68
+ if technology == ChartRenderTechnology.SYNCFUSION_FLUTTER_CHARTS:
69
+ return {
70
+ 'library': 'SYNCFUSION_FLUTTER_CHARTS',
71
+ 'chart': 'LINE',
72
+ 'configuration': self._render_syncfusion_flutter_charts(),
73
+ }
74
+
66
75
  return {
67
76
  'library': 'CANVASJS',
68
77
  'chart': 'LINE',
69
78
  'configuration': self._render_canvasjs(),
70
79
  }
71
80
 
81
+ def _render_syncfusion_flutter_charts(self) -> list[dict]:
82
+ """
83
+ Converts the configuration of the chart to a Flutter library syncfusion_flutter_charts.
84
+ """
85
+ series = []
86
+
87
+ for serie in self.y_axis:
88
+ if serie.serie_type not in [ChartDataSerieType.LINE, ChartDataSerieType.AREA]:
89
+ continue
90
+
91
+ points = []
92
+
93
+ for i, value in enumerate(self.x_axis.data):
94
+ x_value = value.timestamp() if self.x_axis.data_type == ChartDataType.DATETIME else value
95
+ if not isinstance(x_value, (int, float)):
96
+ continue
97
+
98
+ y_value = serie.data[i]
99
+ if isinstance(y_value, bool):
100
+ if y_value:
101
+ y_value = 1
102
+ else:
103
+ y_value = 0
104
+
105
+ if not isinstance(y_value, (int, float)):
106
+ continue
107
+
108
+ points.append({
109
+ 'xAxis': x_value,
110
+ 'yAxis': y_value,
111
+ })
112
+
113
+ series.append({
114
+ 'color': serie.color,
115
+ 'values': points,
116
+ 'label': serie.label,
117
+ 'type': 'AREA' if serie.serie_type == ChartDataSerieType.AREA else 'LINE',
118
+ })
119
+
120
+ return series
121
+
72
122
  def _render_graphic(self) -> list[dict]:
73
123
  """
74
124
  Converts the configuration of the chart to a Flutter library Graphic.
@@ -0,0 +1,24 @@
1
+ """ Chart rendering technology / library """
2
+ from enum import Enum
3
+
4
+
5
+ class ChartRenderTechnology(Enum):
6
+ """
7
+ Chart Alignment
8
+ """
9
+ CANVAS_JS = 'CANVAS_JS'
10
+ GRAPHIC = 'GRAPHIC'
11
+ SYNCFUSION_FLUTTER_CHARTS = 'SYNCFUSION_FLUTTER_CHARTS'
12
+
13
+ @property
14
+ def _readable(self) -> str:
15
+ """ Readable """
16
+ return f'ChartRenderTechnology.{self.value}'
17
+
18
+ def __str__(self) -> str:
19
+ """ Readable property """
20
+ return self._readable
21
+
22
+ def __repr__(self) -> str:
23
+ """ Readable property """
24
+ return self._readable
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: layrz-sdk
3
- Version: 3.0.2
3
+ Version: 3.0.4
4
4
  Summary: Layrz SDK for Python
5
5
  Author-email: "Golden M, Inc." <software@goldenm.com>
6
6
  Maintainer-email: Kenny Mochizuki <kenny@goldenm.com>, Luis Reyes <lreyes@goldenm.com>, Kasen Li <kli@goldenm.com>
@@ -32,6 +32,7 @@ layrz_sdk/entities/charts/number.py
32
32
  layrz_sdk/entities/charts/pie.py
33
33
  layrz_sdk/entities/charts/radar.py
34
34
  layrz_sdk/entities/charts/radial_bar.py
35
+ layrz_sdk/entities/charts/render_technology.py
35
36
  layrz_sdk/entities/charts/scatter.py
36
37
  layrz_sdk/entities/charts/serie.py
37
38
  layrz_sdk/entities/charts/serie_type.py
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "layrz-sdk"
3
- version = "3.0.2"
3
+ version = "3.0.4"
4
4
  description = "Layrz SDK for Python"
5
5
  authors = [
6
6
  {name = "Golden M, Inc.", email = "software@goldenm.com"}
File without changes
File without changes
File without changes
File without changes