layrz-sdk 3.0.11__py3-none-any.whl → 3.0.13__py3-none-any.whl

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.

@@ -1,4 +1,5 @@
1
- """ Init file """
1
+ """Init file"""
2
+
2
3
  # Broadcast entities
3
4
  from .broadcasts import BroadcastRequest, BroadcastResponse, BroadcastResult, BroadcastStatus, OutboundService
4
5
 
@@ -7,41 +8,41 @@ from .cases import Case, CaseIgnoredStatus, CaseStatus, Comment, Trigger
7
8
 
8
9
  # Charts entities
9
10
  from .charts import (
10
- AreaChart,
11
- AxisConfig,
12
- BarChart,
13
- ChartAlignment,
14
- ChartColor,
15
- ChartConfiguration,
16
- ChartDataSerie,
17
- ChartDataSerieType,
18
- ChartDataType,
19
- ChartException,
20
- ChartRenderTechnology,
21
- ColumnChart,
22
- HTMLChart,
23
- LineChart,
24
- MapCenterType,
25
- MapChart,
26
- MapPoint,
27
- NumberChart,
28
- PieChart,
29
- RadarChart,
30
- RadialBarChart,
31
- ScatterChart,
32
- ScatterSerie,
33
- ScatterSerieItem,
34
- TableChart,
35
- TableHeader,
36
- TableRow,
37
- TimelineChart,
38
- TimelineSerie,
39
- TimelineSerieItem,
40
- get_color_list,
11
+ AreaChart,
12
+ AxisConfig,
13
+ BarChart,
14
+ ChartAlignment,
15
+ ChartColor,
16
+ ChartConfiguration,
17
+ ChartDataSerie,
18
+ ChartDataSerieType,
19
+ ChartDataType,
20
+ ChartException,
21
+ ChartRenderTechnology,
22
+ ColumnChart,
23
+ HTMLChart,
24
+ LineChart,
25
+ MapCenterType,
26
+ MapChart,
27
+ MapPoint,
28
+ NumberChart,
29
+ PieChart,
30
+ RadarChart,
31
+ RadialBarChart,
32
+ ScatterChart,
33
+ ScatterSerie,
34
+ ScatterSerieItem,
35
+ TableChart,
36
+ TableHeader,
37
+ TableRow,
38
+ TimelineChart,
39
+ TimelineSerie,
40
+ TimelineSerieItem,
41
+ get_color_list,
41
42
  )
42
43
 
43
44
  # Checkpoints entities
44
- from .checkpoints import Checkpoint, Geofence, Waypoint
45
+ from .checkpoints import Checkpoint, Waypoint
45
46
 
46
47
  # Events entities
47
48
  from .events import Event
@@ -50,23 +51,23 @@ from .events import Event
50
51
  from .formatting import TextAlignment
51
52
 
52
53
  # General entities
53
- from .general import Asset, AssetOperationMode, CustomField, Device, Sensor, User
54
+ from .general import Asset, AssetOperationMode, CustomField, Device, Geofence, PresenceType, Sensor, User
54
55
 
55
56
  # REPCOM entities
56
57
  from .repcom import Transaction
57
58
 
58
59
  # Reports entities
59
60
  from .reports import (
60
- CustomReportPage,
61
- Report,
62
- ReportCol,
63
- ReportConfiguration,
64
- ReportDataType,
65
- ReportFormat,
66
- ReportHeader,
67
- ReportPage,
68
- ReportRow,
61
+ CustomReportPage,
62
+ Report,
63
+ ReportCol,
64
+ ReportConfiguration,
65
+ ReportDataType,
66
+ ReportFormat,
67
+ ReportHeader,
68
+ ReportPage,
69
+ ReportRow,
69
70
  )
70
71
 
71
72
  # Telemetry entities
72
- from .telemetry import Message, Position
73
+ from .telemetry import LastMessage, Message, Position
@@ -1,4 +1,4 @@
1
- """ Checkpoints entities """
1
+ """Checkpoints entities"""
2
+
2
3
  from .checkpoint import Checkpoint
3
- from .geofence import Geofence
4
4
  from .waypoint import Waypoint
@@ -2,7 +2,7 @@
2
2
 
3
3
  from datetime import datetime
4
4
 
5
- from .geofence import Geofence
5
+ from layrz_sdk.entities.general.geofence import Geofence
6
6
 
7
7
 
8
8
  class Waypoint:
@@ -3,6 +3,7 @@
3
3
  from datetime import datetime
4
4
 
5
5
  from layrz_sdk.entities.cases.trigger import Trigger
6
+ from layrz_sdk.entities.general.geofence import Geofence, PresenceType
6
7
  from layrz_sdk.entities.telemetry.message import Message
7
8
 
8
9
 
@@ -17,6 +18,8 @@ class Event:
17
18
  asset_id : ID of the Asset owner of the event
18
19
  message : Telemetry information of the event
19
20
  activated_at : Reception/triggered at
21
+ geofence : Geofence where the event occurred
22
+ presence_type : Presence type of the event
20
23
  """
21
24
 
22
25
  def __init__(
@@ -26,6 +29,8 @@ class Event:
26
29
  asset_id: int,
27
30
  message: Message,
28
31
  activated_at: datetime,
32
+ geofence: Geofence | None = None,
33
+ presence_type: PresenceType | None = None,
29
34
  ) -> None:
30
35
  """Constructor"""
31
36
  self.pk = pk
@@ -33,6 +38,8 @@ class Event:
33
38
  self.asset_id = asset_id
34
39
  self.message = message
35
40
  self.activated_at = activated_at
41
+ self.geofence = geofence
42
+ self.presence_type = presence_type
36
43
 
37
44
  @property
38
45
  def _readable(self) -> str | None | bool:
@@ -1,7 +1,9 @@
1
- """ General entities """
1
+ """General entities"""
2
+
2
3
  from .asset import Asset
3
4
  from .asset_operation_mode import AssetOperationMode
4
5
  from .custom_field import CustomField
5
6
  from .device import Device
7
+ from .geofence import Geofence, PresenceType
6
8
  from .sensor import Sensor
7
9
  from .user import User
@@ -1,5 +1,7 @@
1
1
  """Geofence entity"""
2
2
 
3
+ from enum import Enum
4
+
3
5
 
4
6
  class Geofence:
5
7
  """
@@ -29,3 +31,23 @@ class Geofence:
29
31
  def __repr__(self) -> str | None | bool:
30
32
  """Readable property"""
31
33
  return self._readable
34
+
35
+
36
+ class PresenceType(Enum):
37
+ """Presence type enum"""
38
+
39
+ ENTRANCE = 'ENTRANCE'
40
+ EXIT = 'EXIT'
41
+
42
+ @property
43
+ def _readable(self) -> str | None | bool:
44
+ """Readable"""
45
+ return f'PresenceType.{self.value}'
46
+
47
+ def __str__(self) -> str | None | bool:
48
+ """Readable property"""
49
+ return self._readable
50
+
51
+ def __repr__(self) -> str | None | bool:
52
+ """Readable property"""
53
+ return self._readable
@@ -1,3 +1,5 @@
1
- """ Telemetry entities """
1
+ """Telemetry entities"""
2
+
3
+ from .last_message import LastMessage
2
4
  from .message import Message
3
5
  from .position import Position
@@ -0,0 +1,41 @@
1
+ """Message entity"""
2
+
3
+ from datetime import datetime
4
+ from typing import Any
5
+
6
+ from layrz_sdk.entities.general.asset import Asset
7
+
8
+ from .message import Message
9
+ from .position import Position
10
+
11
+
12
+ class LastMessage(Message):
13
+ """
14
+ Message definition
15
+ ---
16
+ Attributes
17
+ - pk : Message ID
18
+ - asset_id : Asset ID
19
+ - position : Geographic position
20
+ - payload : Message raw payload
21
+ - sensors : Calculated sensor values
22
+ - received_at : Message reception date and time
23
+ """
24
+
25
+ def __init__(
26
+ self,
27
+ pk: int,
28
+ asset_id: int,
29
+ asset: Asset,
30
+ position: Position = None,
31
+ payload: Any = None,
32
+ sensors: Any = None,
33
+ received_at: datetime = None,
34
+ ) -> None:
35
+ """Constructor"""
36
+ super().__init__(pk, asset_id, position, payload, sensors, received_at)
37
+ self.asset = asset
38
+
39
+ def __str__(self) -> str:
40
+ """String representation"""
41
+ return f'LastMessage(pk: {self.pk}, asset_id: {self.asset_id}, received_at: {self.received_at})'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: layrz-sdk
3
- Version: 3.0.11
3
+ Version: 3.0.13
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>
@@ -1,5 +1,5 @@
1
1
  layrz_sdk/__init__.py,sha256=OutylN0QazaeDVIA5NRDVyzwfYnZkAwVQzT-2F6iX2M,28
2
- layrz_sdk/entities/__init__.py,sha256=osv4J4OF2eIxe_h5u17y7nisdtNzluMD2L0xLpA05mI,2135
2
+ layrz_sdk/entities/__init__.py,sha256=JMxjs369umvVD1amJUfkYnWfI-mbmTD6mOBf3W7PuKA,1401
3
3
  layrz_sdk/entities/broadcasts/__init__.py,sha256=E-Mmr-UjpD5Jxkut4UX7XMqi6IUEYxb_5NP3xyDM_cg,215
4
4
  layrz_sdk/entities/broadcasts/request.py,sha256=7r6-68ies6l5F0lVVpYg2aI2uTtn9UkK5yND3rrutLs,631
5
5
  layrz_sdk/entities/broadcasts/response.py,sha256=_LDggLwSGsuG0EAAwQqSIMmNu_WA3eL7S77-_HFHeRA,664
@@ -31,19 +31,19 @@ layrz_sdk/entities/charts/serie.py,sha256=xAEegIPBqg4opfZxpwVfPbNQNhgatjs6tAn-mv
31
31
  layrz_sdk/entities/charts/serie_type.py,sha256=P7FnH7vugn8IxOIqPk86POr0DNnWb9YLNROVxwNby3E,499
32
32
  layrz_sdk/entities/charts/table.py,sha256=G-MQu9UBDZGnG_AvcOqY-MOXgrQ87E4myUgRHX6g3rE,1631
33
33
  layrz_sdk/entities/charts/timeline.py,sha256=Udyv7Fe9_5MYinazRRpIKxzWl0q9Gw5I4XghXrTEqpM,3911
34
- layrz_sdk/entities/checkpoints/__init__.py,sha256=Bn_L1GbWcWUuBDpSVHKDqpjGYeIWDbPNI-_OnD-jrJQ,126
34
+ layrz_sdk/entities/checkpoints/__init__.py,sha256=LcSyaEJBaaGwvovNZ4ti_YGV2LoU3L7P2zUD7lBW5Cs,94
35
35
  layrz_sdk/entities/checkpoints/checkpoint.py,sha256=WtrwLZQy8Rf4czhDnpc1KsVNrL0tG8zQDYwEoFdcShk,1105
36
- layrz_sdk/entities/checkpoints/geofence.py,sha256=VWgfSoz6D1wshjK9w35Rnxg6_OhcIPKjInt0HTztzog,685
37
- layrz_sdk/entities/checkpoints/waypoint.py,sha256=WH8460Pd3SLXLViel4VqAiXGCq1WDlsxVBDxshhh_p8,1277
36
+ layrz_sdk/entities/checkpoints/waypoint.py,sha256=P7bK_xqGsUb2-pSD4WvN7bjXoee2Xi0y4yIOeZeo1A4,1303
38
37
  layrz_sdk/entities/events/__init__.py,sha256=6W9HsNBCOvVDJl9_1cnX_YlsZRHaZbNBtnYTmST5-WU,49
39
- layrz_sdk/entities/events/event.py,sha256=SsnCuH3PC9czk7_Bkv8Z6prEYRZI-5q2AqFlm25vsb0,1216
38
+ layrz_sdk/entities/events/event.py,sha256=_EfXT6pk6LozwU8IJY3eO6-aDNShUnMRej8s1Tc12Po,1536
40
39
  layrz_sdk/entities/formatting/__init__.py,sha256=cv-_epSLW_9RmUhs18caMo7XhvU12q-JvWPooYUNpJE,66
41
40
  layrz_sdk/entities/formatting/text_align.py,sha256=1kT8PE1WUjKhilgsQPU5XS5sSt76onWwfNNeKPvPv9E,501
42
- layrz_sdk/entities/general/__init__.py,sha256=qQSs86NUtxT3vC-gdEU05rBmKWRRQmOJcZBDaQgSUcw,218
41
+ layrz_sdk/entities/general/__init__.py,sha256=sSOiwoNQpmERpQi0d1AdXm1WYr9MVfFU5s-gCHag-s0,262
43
42
  layrz_sdk/entities/general/asset.py,sha256=wcqI-ogJEdhIrtDMavNgOTF3kep2Ipw7H95zFfq3lbw,1949
44
43
  layrz_sdk/entities/general/asset_operation_mode.py,sha256=LOAReg3qpx_xOGgBOZpHSZCrYxX9ssSUeWGib0n-97g,621
45
44
  layrz_sdk/entities/general/custom_field.py,sha256=6Bk9IWOzxcmo1kCTu3_0eg16cDyqZ0a_gAVCBtdxjjs,638
46
45
  layrz_sdk/entities/general/device.py,sha256=b15Oczfx7zXvR4T88Fh4EmUAB2WrYXgABmFBBsAE2tc,1013
46
+ layrz_sdk/entities/general/geofence.py,sha256=Ep6Rkjzk-L2VD-wrxF-0GvuWMGQl5ooD1A2QGFuI8zE,1115
47
47
  layrz_sdk/entities/general/sensor.py,sha256=N9smg5FmRQYuF1oGUxw9diJ4vVbFRg89v1h67Rk9RQM,647
48
48
  layrz_sdk/entities/general/user.py,sha256=cE-oasv3yObNdCAvb6w1Yoo-0U3_lhE6s12t4FY5Mwg,559
49
49
  layrz_sdk/entities/repcom/__init__.py,sha256=vXRvt0pzBIMeEGXNj8SEzejzMJg4t9uAakMMumKpg4U,61
@@ -55,15 +55,16 @@ layrz_sdk/entities/reports/header.py,sha256=taQEl1gDF8hlaUHZRiwcZFRTDN9p1uZ5ePAF
55
55
  layrz_sdk/entities/reports/page.py,sha256=4QPKTkEb_GTmTYD7XzSGOGsFdCZsvKVJqeYJvuq4n_0,1631
56
56
  layrz_sdk/entities/reports/report.py,sha256=OynzeCEgLdsR5IcstpQnZSldIulN1LA5LBeKcipXKcY,8424
57
57
  layrz_sdk/entities/reports/row.py,sha256=nGPLcBbLo_-owK43LsLNiitpOPUcfjzCFFe4mFTS_lg,918
58
- layrz_sdk/entities/telemetry/__init__.py,sha256=6QVG__X1EhA5gPGa2jPyPkKznp_Lp3Y_-7Grswyp3kk,87
58
+ layrz_sdk/entities/telemetry/__init__.py,sha256=UIqBjZFkRDjFxuwlgGgAiG2l9BNf3uTesUAeO4XF-dQ,124
59
+ layrz_sdk/entities/telemetry/last_message.py,sha256=2vmJK1UJrnZbNtHa1BQNquwVV_g4FokcdRkiiGmISyw,972
59
60
  layrz_sdk/entities/telemetry/message.py,sha256=x0uAkbkQtvutAj8UHtjRgsFTcOrosZUHr4d4AHBN0Iw,829
60
61
  layrz_sdk/entities/telemetry/position.py,sha256=sg7k6Etyu1ZtuFQfmfZq00_7WxRMmLgtcdPvdoXsbXU,1367
61
62
  layrz_sdk/helpers/__init__.py,sha256=v3WbYVr9ygyDtxEIi59kGVXuirNswhhkG4BQv5iESRo,72
62
63
  layrz_sdk/helpers/color.py,sha256=gfMuO627E7zdLXcK0WAgEwzmQOMrIdLFFv3ktI-UYbE,1129
63
64
  layrz_sdk/lcl/__init__.py,sha256=nmfOnbot49pvfR8xyqvs0tg7ZwzxunhWJbwA805w20M,67
64
65
  layrz_sdk/lcl/core.py,sha256=yG25WLCq_nnPiTgaCFCTteNL1-_mYKLc0VAwLT0D_6Q,23165
65
- layrz_sdk-3.0.11.dist-info/LICENSE,sha256=d5ZrU--lIPER7QByXDKcrtOTOMk1JvN_9FdYDuoWi7Y,1057
66
- layrz_sdk-3.0.11.dist-info/METADATA,sha256=EBaFtu7P0izMtU3u6I-3BgKkhEavwBX_GinrqE1FAp0,1700
67
- layrz_sdk-3.0.11.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
68
- layrz_sdk-3.0.11.dist-info/top_level.txt,sha256=yUTMMzfdZ0HDWQH5TaSlFM4xtwmP1fSGxmlL1dmu4l4,10
69
- layrz_sdk-3.0.11.dist-info/RECORD,,
66
+ layrz_sdk-3.0.13.dist-info/LICENSE,sha256=d5ZrU--lIPER7QByXDKcrtOTOMk1JvN_9FdYDuoWi7Y,1057
67
+ layrz_sdk-3.0.13.dist-info/METADATA,sha256=gJaxViqBuKxjHg_EQtLSbcWmMXRD43ERxUAS1iJGv5I,1700
68
+ layrz_sdk-3.0.13.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
69
+ layrz_sdk-3.0.13.dist-info/top_level.txt,sha256=yUTMMzfdZ0HDWQH5TaSlFM4xtwmP1fSGxmlL1dmu4l4,10
70
+ layrz_sdk-3.0.13.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.2.0)
2
+ Generator: setuptools (72.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5