layrz-sdk 3.1.26__py3-none-any.whl → 3.1.28__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.
- layrz_sdk/entities/__init__.py +10 -4
- layrz_sdk/entities/asset.py +6 -6
- layrz_sdk/entities/broadcast/__init__.py +15 -0
- layrz_sdk/entities/broadcast/payload.py +36 -0
- layrz_sdk/entities/{broadcast_result.py → broadcast/result.py} +3 -3
- layrz_sdk/entities/broadcast/service.py +13 -0
- layrz_sdk/entities/charts/chart_data_serie_type.py +1 -1
- {layrz_sdk-3.1.26.dist-info → layrz_sdk-3.1.28.dist-info}/METADATA +1 -1
- {layrz_sdk-3.1.26.dist-info → layrz_sdk-3.1.28.dist-info}/RECORD +15 -12
- /layrz_sdk/entities/{broadcast_request.py → broadcast/request.py} +0 -0
- /layrz_sdk/entities/{broadcast_response.py → broadcast/response.py} +0 -0
- /layrz_sdk/entities/{broadcast_status.py → broadcast/status.py} +0 -0
- {layrz_sdk-3.1.26.dist-info → layrz_sdk-3.1.28.dist-info}/WHEEL +0 -0
- {layrz_sdk-3.1.26.dist-info → layrz_sdk-3.1.28.dist-info}/licenses/LICENSE +0 -0
- {layrz_sdk-3.1.26.dist-info → layrz_sdk-3.1.28.dist-info}/top_level.txt +0 -0
layrz_sdk/entities/__init__.py
CHANGED
|
@@ -3,10 +3,14 @@
|
|
|
3
3
|
from .asset import Asset
|
|
4
4
|
from .asset_constants import AssetConstants
|
|
5
5
|
from .asset_operation_mode import AssetOperationMode
|
|
6
|
-
from .
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
from .broadcast import (
|
|
7
|
+
BroadcastPayload,
|
|
8
|
+
BroadcastRequest,
|
|
9
|
+
BroadcastResponse,
|
|
10
|
+
BroadcastResult,
|
|
11
|
+
BroadcastService,
|
|
12
|
+
BroadcastStatus,
|
|
13
|
+
)
|
|
10
14
|
from .case import Case
|
|
11
15
|
from .case_ignored_status import CaseIgnoredStatus
|
|
12
16
|
from .case_status import CaseStatus
|
|
@@ -73,6 +77,8 @@ __all__ = [
|
|
|
73
77
|
'BroadcastResponse',
|
|
74
78
|
'BroadcastResult',
|
|
75
79
|
'BroadcastStatus',
|
|
80
|
+
'BroadcastService',
|
|
81
|
+
'BroadcastPayload',
|
|
76
82
|
'Case',
|
|
77
83
|
'CaseIgnoredStatus',
|
|
78
84
|
'CaseStatus',
|
layrz_sdk/entities/asset.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Asset Entity"""
|
|
2
2
|
|
|
3
3
|
import sys
|
|
4
|
-
from typing import Any
|
|
4
|
+
from typing import Any
|
|
5
5
|
|
|
6
6
|
from pydantic import BaseModel, Field, model_validator
|
|
7
7
|
|
|
@@ -22,12 +22,12 @@ class Asset(BaseModel):
|
|
|
22
22
|
|
|
23
23
|
pk: int = Field(description='Defines the primary key of the asset')
|
|
24
24
|
name: str = Field(description='Defines the name of the asset')
|
|
25
|
-
vin:
|
|
25
|
+
vin: str | None = Field(
|
|
26
26
|
default=None,
|
|
27
27
|
description='Defines the serial number of the asset, may be an VIN, or any other unique identifier',
|
|
28
28
|
)
|
|
29
|
-
plate:
|
|
30
|
-
asset_type:
|
|
29
|
+
plate: str | None = Field(default=None, description='Defines the plate number of the asset')
|
|
30
|
+
asset_type: int | None = Field(description='Defines the type of the asset', alias='kind_id', default=None)
|
|
31
31
|
operation_mode: AssetOperationMode = Field(description='Defines the operation mode of the asset')
|
|
32
32
|
sensors: list[Sensor] = Field(default_factory=list, description='Defines the list of sensors of the asset')
|
|
33
33
|
custom_fields: list[CustomField] = Field(
|
|
@@ -54,7 +54,7 @@ class Asset(BaseModel):
|
|
|
54
54
|
@model_validator(mode='before')
|
|
55
55
|
def _validate_model(cls: Self, data: dict[str, Any]) -> dict[str, Any]:
|
|
56
56
|
"""Validate model"""
|
|
57
|
-
operation_mode:
|
|
57
|
+
operation_mode: str | None = data.get('operation_mode')
|
|
58
58
|
if operation_mode == AssetOperationMode.ASSETMULTIPLE.name:
|
|
59
59
|
data['devices'] = []
|
|
60
60
|
|
|
@@ -64,7 +64,7 @@ class Asset(BaseModel):
|
|
|
64
64
|
return data
|
|
65
65
|
|
|
66
66
|
@property
|
|
67
|
-
def primary(self: Self) ->
|
|
67
|
+
def primary(self: Self) -> Device | None:
|
|
68
68
|
"""Get primary device"""
|
|
69
69
|
if self.operation_mode not in [AssetOperationMode.SINGLE, AssetOperationMode.MULTIPLE]:
|
|
70
70
|
return None
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from .payload import BroadcastPayload
|
|
2
|
+
from .request import BroadcastRequest
|
|
3
|
+
from .response import BroadcastResponse
|
|
4
|
+
from .result import BroadcastResult
|
|
5
|
+
from .service import BroadcastService
|
|
6
|
+
from .status import BroadcastStatus
|
|
7
|
+
|
|
8
|
+
__all__ = [
|
|
9
|
+
'BroadcastPayload',
|
|
10
|
+
'BroadcastRequest',
|
|
11
|
+
'BroadcastResponse',
|
|
12
|
+
'BroadcastResult',
|
|
13
|
+
'BroadcastService',
|
|
14
|
+
'BroadcastStatus',
|
|
15
|
+
]
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""Broadcast Payload data"""
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from typing import Any
|
|
5
|
+
|
|
6
|
+
from pydantic import BaseModel, Field
|
|
7
|
+
|
|
8
|
+
from layrz_sdk.constants import UTC
|
|
9
|
+
from layrz_sdk.entities.asset import Asset
|
|
10
|
+
from layrz_sdk.entities.device import Device
|
|
11
|
+
|
|
12
|
+
from .service import BroadcastService
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class BroadcastPayload(BaseModel):
|
|
16
|
+
"""Broadcast payload data, structure that is sent to the Outbound MQTT and other services"""
|
|
17
|
+
|
|
18
|
+
model_config = {
|
|
19
|
+
'loc_by_alias': True,
|
|
20
|
+
'json_encoders': {
|
|
21
|
+
datetime: lambda v: v.timestamp(),
|
|
22
|
+
},
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
asset: Asset = Field(..., description='Asset object')
|
|
26
|
+
primary_device: Device | None = Field(None, description='Primary device object', serialization_alias='primaryDevice')
|
|
27
|
+
message_id: int | str = Field(..., description='Message ID', serialization_alias='message.id')
|
|
28
|
+
service: BroadcastService | None = Field(None, description='Broadcast service object')
|
|
29
|
+
position: dict[str, Any] = Field(default_factory=dict, description='Position data, if available')
|
|
30
|
+
sensors: dict[str, Any] = Field(default_factory=dict, description='Sensors data, if available')
|
|
31
|
+
payload: dict[str, Any] = Field(default_factory=dict, description='Payload data, if available')
|
|
32
|
+
received_at: datetime = Field(
|
|
33
|
+
default_factory=lambda: datetime.now(UTC),
|
|
34
|
+
description='Broadcast payload received date',
|
|
35
|
+
serialization_alias='receivedAt',
|
|
36
|
+
)
|
|
@@ -4,9 +4,9 @@ from datetime import datetime
|
|
|
4
4
|
|
|
5
5
|
from pydantic import BaseModel, Field
|
|
6
6
|
|
|
7
|
-
from .
|
|
8
|
-
from .
|
|
9
|
-
from .
|
|
7
|
+
from .request import BroadcastRequest
|
|
8
|
+
from .response import BroadcastResponse
|
|
9
|
+
from .status import BroadcastStatus
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class BroadcastResult(BaseModel):
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"""Broadcast Service object"""
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
from pydantic import BaseModel, Field
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class BroadcastService(BaseModel):
|
|
9
|
+
"""Broadcast Service object"""
|
|
10
|
+
|
|
11
|
+
pk: int = Field(..., description='Service ID', serialization_alias='id')
|
|
12
|
+
name: str = Field(..., description='Service name')
|
|
13
|
+
credentials: dict[str, Any] = Field(default_factory=dict, description='Service credentials')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: layrz-sdk
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.28
|
|
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>
|
|
@@ -2,14 +2,10 @@ layrz_sdk/__init__.py,sha256=OutylN0QazaeDVIA5NRDVyzwfYnZkAwVQzT-2F6iX2M,28
|
|
|
2
2
|
layrz_sdk/backwards.py,sha256=f_DUxvbZs-p287-wGwxx0NVUK7Gha-cNP_hHRAJWAq0,85
|
|
3
3
|
layrz_sdk/constants.py,sha256=guXfIsVAcex76OEMv6DAJy1km1A_WUfWJuUO2Lo3kXE,344
|
|
4
4
|
layrz_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
layrz_sdk/entities/__init__.py,sha256=
|
|
6
|
-
layrz_sdk/entities/asset.py,sha256=
|
|
5
|
+
layrz_sdk/entities/__init__.py,sha256=CrPrN6MnGkOKhQUF_ssi5U0z4wrQHXdQD7yen5APhzA,4027
|
|
6
|
+
layrz_sdk/entities/asset.py,sha256=9dVnNXeBP_CnpXUU2KH7LiQxCWBXZzok13HMkN9diaI,2583
|
|
7
7
|
layrz_sdk/entities/asset_constants.py,sha256=H-RY9XvSz9lzjkx9YjNT4dZEp5v8WOweQHjwHDUGw60,710
|
|
8
8
|
layrz_sdk/entities/asset_operation_mode.py,sha256=1RLRpbUm6jwxivdKbB2O6wdnrhyqaccQ_moA-wrnzdQ,639
|
|
9
|
-
layrz_sdk/entities/broadcast_request.py,sha256=MQb9kyDSAMXtp4_sPOamBsYyCVZ02wj8NXmi8IEmM68,260
|
|
10
|
-
layrz_sdk/entities/broadcast_response.py,sha256=hK3D05pecln9wbkdGr892Kzmd7bMzjsaayPxzJPVHsw,263
|
|
11
|
-
layrz_sdk/entities/broadcast_result.py,sha256=2OEd-1DVQt0T1KQR8S_wrYEplXKFVXbIouTW9wFHTh4,686
|
|
12
|
-
layrz_sdk/entities/broadcast_status.py,sha256=-dGOZeQ1VclBvWTfnrPEDb8LMHSyBVnV5cVyQVyMdcU,597
|
|
13
9
|
layrz_sdk/entities/case.py,sha256=0dSfZCezDuEEED42rws-zntqa_Em9oFevlXSPrIeIC8,1877
|
|
14
10
|
layrz_sdk/entities/case_ignored_status.py,sha256=9nRIKJqaZ9EBXYuI4j4v2hCd0C6GtWPDKsbdE2Srt1g,517
|
|
15
11
|
layrz_sdk/entities/case_status.py,sha256=4k6PeJJiCqp1LxipXTrIFuEqeK2NYwbrKA8KvI51ewU,443
|
|
@@ -39,13 +35,20 @@ layrz_sdk/entities/text_alignment.py,sha256=YqUqj07c4XzHZLdaqNw1FEUpneWoJU5UU3ei
|
|
|
39
35
|
layrz_sdk/entities/trigger.py,sha256=fDcF72awhwk43j9heE053QneYk4rUfdm3RY2hitP91w,318
|
|
40
36
|
layrz_sdk/entities/user.py,sha256=S2mJoW44xbBe-O3I_ajy5l4V9-azVLUfKvcfsuqfodQ,236
|
|
41
37
|
layrz_sdk/entities/waypoint.py,sha256=Wx4uFzKVXKTuSgu8wiDpvqGFtG3c1_owk1-M9APlpj8,550
|
|
38
|
+
layrz_sdk/entities/broadcast/__init__.py,sha256=Q1fIeDj1oAL63Q0JDddkW_FuP826-Im6ScwUUwAZIOM,372
|
|
39
|
+
layrz_sdk/entities/broadcast/payload.py,sha256=KX6mjogSpDW_tCedioanQukcE1sFJaAv_PRqdAU50qA,1371
|
|
40
|
+
layrz_sdk/entities/broadcast/request.py,sha256=MQb9kyDSAMXtp4_sPOamBsYyCVZ02wj8NXmi8IEmM68,260
|
|
41
|
+
layrz_sdk/entities/broadcast/response.py,sha256=hK3D05pecln9wbkdGr892Kzmd7bMzjsaayPxzJPVHsw,263
|
|
42
|
+
layrz_sdk/entities/broadcast/result.py,sha256=07P7cE6LCBpw8jlgmyVsGxBmRpO4A7Jva5hpLh-n5U0,656
|
|
43
|
+
layrz_sdk/entities/broadcast/service.py,sha256=EWc3mgdewyW6rZGzwWroxidaogXYDW-w1Td1c36xBY0,388
|
|
44
|
+
layrz_sdk/entities/broadcast/status.py,sha256=-dGOZeQ1VclBvWTfnrPEDb8LMHSyBVnV5cVyQVyMdcU,597
|
|
42
45
|
layrz_sdk/entities/charts/axis_config.py,sha256=ZvVsjB26FMbbfM9318KaQm3XyiNAkyzz2120fM2DH50,604
|
|
43
46
|
layrz_sdk/entities/charts/bar_chart.py,sha256=hBOc0iJHTpFSlZsBtxT4-xtEJLi8DPnjXvc_i2t9HcI,5017
|
|
44
47
|
layrz_sdk/entities/charts/chart_alignment.py,sha256=gl8Ymfh0lq_F0uhsD2ljLpRPcrqM8eDogVa7OO571YA,467
|
|
45
48
|
layrz_sdk/entities/charts/chart_color.py,sha256=okSE8MEMhqstSTAz69_N5nknAoWh1ds6Re-CQGoT8uM,881
|
|
46
49
|
layrz_sdk/entities/charts/chart_configuration.py,sha256=EnyQHOulIXLH4TqBXVY7tD_YaH0AbPmp4yhNbKAO0Zc,249
|
|
47
50
|
layrz_sdk/entities/charts/chart_data_serie.py,sha256=53FnJYt9-k963I1YpzWlEjZsLGclj00mlkP55iEFfq8,721
|
|
48
|
-
layrz_sdk/entities/charts/chart_data_serie_type.py,sha256=
|
|
51
|
+
layrz_sdk/entities/charts/chart_data_serie_type.py,sha256=yPxOc_f7mmc8AOsc-OHUFYQUaEX6Y7sGEU6r93VfN9c,479
|
|
49
52
|
layrz_sdk/entities/charts/chart_data_type.py,sha256=-AUjOXfMCpLGjnMZzA1yqV-xk-3lTUem7ktIUvBD8yo,475
|
|
50
53
|
layrz_sdk/entities/charts/chart_render_technology.py,sha256=PiQgoSyahBy8UrR9k_-1odJ1ORmbVtE7O7xbGZzo_ZY,637
|
|
51
54
|
layrz_sdk/entities/charts/column_chart.py,sha256=2c2dI4ExDBFv6QiQPkDLqTskdNJUATJTzv4iBjntKBc,6028
|
|
@@ -80,8 +83,8 @@ layrz_sdk/helpers/__init__.py,sha256=5iW3z2m3jrYhvTfxX-p-QTkR9X9oTKfEsbtVOg9jFFY
|
|
|
80
83
|
layrz_sdk/helpers/color.py,sha256=dlpMafbM-4Wd9D9hMbbnZJf4ALkpie_ZmBR2Vz_YCmM,1203
|
|
81
84
|
layrz_sdk/lcl/__init__.py,sha256=U967AWANkL3u_YVxMNAYlh8jkZ6hqHfStacz7yz6sOA,89
|
|
82
85
|
layrz_sdk/lcl/core.py,sha256=T80A3hL7SeqRNSfl5SrPAgwIEf-enoAVv9ldwJNzqsA,24786
|
|
83
|
-
layrz_sdk-3.1.
|
|
84
|
-
layrz_sdk-3.1.
|
|
85
|
-
layrz_sdk-3.1.
|
|
86
|
-
layrz_sdk-3.1.
|
|
87
|
-
layrz_sdk-3.1.
|
|
86
|
+
layrz_sdk-3.1.28.dist-info/licenses/LICENSE,sha256=d5ZrU--lIPER7QByXDKcrtOTOMk1JvN_9FdYDuoWi7Y,1057
|
|
87
|
+
layrz_sdk-3.1.28.dist-info/METADATA,sha256=eJDUV8mlIyOiJo1lofR4pOPzgaU48sODsJNVtR7hUcw,2084
|
|
88
|
+
layrz_sdk-3.1.28.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
89
|
+
layrz_sdk-3.1.28.dist-info/top_level.txt,sha256=yUTMMzfdZ0HDWQH5TaSlFM4xtwmP1fSGxmlL1dmu4l4,10
|
|
90
|
+
layrz_sdk-3.1.28.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|