layrz-sdk 3.1.18__tar.gz → 3.1.20__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.
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/CHANGELOG.md +16 -0
- {layrz_sdk-3.1.18/layrz_sdk.egg-info → layrz_sdk-3.1.20}/PKG-INFO +2 -1
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/modbus/schema.py +6 -1
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/modbus/status.py +6 -1
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/telemetry/assetmessage.py +19 -1
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/telemetry/devicemessage.py +7 -2
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20/layrz_sdk.egg-info}/PKG-INFO +2 -1
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk.egg-info/requires.txt +1 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/pyproject.toml +2 -1
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/uv.lock +12 -1
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/.github/workflows/checks.yml +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/.github/workflows/deploy.yml +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/.gitignore +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/.vscode/extensions.json +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/CODE_OF_CONDUCT.md +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/CONTRIBUTING.md +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/LICENSE +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/README.md +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/__init__.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/constants.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/__init__.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/asset.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/asset_operation_mode.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/broadcast_request.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/broadcast_response.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/broadcast_result.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/broadcast_status.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/case.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/case_ignored_status.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/case_status.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/axis_config.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/bar_chart.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/chart_alignment.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/chart_color.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/chart_configuration.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/chart_data_serie.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/chart_data_serie_type.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/chart_data_type.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/chart_render_technology.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/column_chart.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/html_chart.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/line_chart.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/map_center_type.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/map_chart.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/map_point.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/number_chart.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/pie_chart.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/radar_chart.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/radial_bar_chart.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/scatter_chart.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/scatter_serie.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/scatter_serie_item.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/table_chart.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/table_header.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/table_row.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/timeline_chart.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/timeline_serie.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/charts/timeline_serie_item.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/checkpoint.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/comment.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/custom_field.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/custom_report_page.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/device.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/event.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/geofence.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/last_message.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/message.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/modbus/__init__.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/modbus/config.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/modbus/parameter.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/modbus/wait.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/outbound_service.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/position.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/presence_type.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/report.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/report_col.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/report_configuration.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/report_data_type.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/report_format.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/report_header.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/report_page.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/report_row.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/sensor.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/static_position.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/telemetry/__init__.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/text_alignment.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/trigger.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/user.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/entities/waypoint.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/helpers/__init__.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/helpers/color.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/lcl/__init__.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/lcl/core.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk/py.typed +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk.egg-info/SOURCES.txt +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk.egg-info/dependency_links.txt +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/layrz_sdk.egg-info/top_level.txt +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/manual_deploy.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/setup.cfg +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/tests/__init__.py +0 -0
- {layrz_sdk-3.1.18 → layrz_sdk-3.1.20}/tests/test_lcl.py +0 -0
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.1.20
|
|
4
|
+
|
|
5
|
+
- Fixed condition of `StrEnum` on Python 3.11, for versions below 3.11 it will use `strenum.StrEnum` instead of `enum.StrEnum`
|
|
6
|
+
|
|
7
|
+
## 3.1.19
|
|
8
|
+
|
|
9
|
+
- Added serializers for messages
|
|
10
|
+
|
|
11
|
+
## 3.1.18
|
|
12
|
+
|
|
13
|
+
- Fixes
|
|
14
|
+
|
|
15
|
+
## 3.1.17
|
|
16
|
+
|
|
17
|
+
- Fixes
|
|
18
|
+
|
|
3
19
|
## 3.1.16
|
|
4
20
|
|
|
5
21
|
- Added `primary_id` into `Asset`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: layrz-sdk
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.20
|
|
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>
|
|
@@ -26,6 +26,7 @@ Requires-Dist: pydantic>=2.10.6
|
|
|
26
26
|
Requires-Dist: typing-extensions>=4.10.0
|
|
27
27
|
Requires-Dist: geopy>=2.4.1
|
|
28
28
|
Requires-Dist: shapely>=2.1.1
|
|
29
|
+
Requires-Dist: strenum>=0.4.15
|
|
29
30
|
Dynamic: license-file
|
|
30
31
|
|
|
31
32
|
# Layrz SDK
|
|
@@ -15,7 +15,7 @@ else:
|
|
|
15
15
|
from typing_extensions import Self
|
|
16
16
|
|
|
17
17
|
from geopy.distance import geodesic
|
|
18
|
-
from pydantic import BaseModel, Field
|
|
18
|
+
from pydantic import BaseModel, Field, field_serializer
|
|
19
19
|
from shapely.geometry import MultiPoint
|
|
20
20
|
|
|
21
21
|
from layrz_sdk.constants import UTC
|
|
@@ -28,6 +28,14 @@ from layrz_sdk.entities.telemetry.devicemessage import DeviceMessage
|
|
|
28
28
|
class AssetMessage(BaseModel):
|
|
29
29
|
"""Asset message model"""
|
|
30
30
|
|
|
31
|
+
model_config = {
|
|
32
|
+
'json_encoders': {
|
|
33
|
+
datetime: lambda v: v.timestamp(),
|
|
34
|
+
timedelta: lambda v: v.total_seconds(),
|
|
35
|
+
Position: lambda v: json.loads(v.model_dump_json(exclude_none=True)),
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
31
39
|
pk: int | None = Field(
|
|
32
40
|
default=None,
|
|
33
41
|
description='Message ID',
|
|
@@ -69,11 +77,21 @@ class AssetMessage(BaseModel):
|
|
|
69
77
|
description='Timestamp when the message was received',
|
|
70
78
|
)
|
|
71
79
|
|
|
80
|
+
@field_serializer('received_at')
|
|
81
|
+
def serialize_received_at(self: Self, value: datetime) -> float:
|
|
82
|
+
"""Serialize received_at to a timestamp."""
|
|
83
|
+
return value.timestamp()
|
|
84
|
+
|
|
72
85
|
elapsed_time: timedelta = Field(
|
|
73
86
|
default_factory=lambda: timedelta(seconds=0),
|
|
74
87
|
description='Elapsed time since the last message',
|
|
75
88
|
)
|
|
76
89
|
|
|
90
|
+
@field_serializer('elapsed_time')
|
|
91
|
+
def serialize_elapsed_time(self: Self, value: timedelta) -> float:
|
|
92
|
+
"""Serialize elapsed_time to total seconds."""
|
|
93
|
+
return value.total_seconds()
|
|
94
|
+
|
|
77
95
|
@property
|
|
78
96
|
def datum_gis(self: Self) -> int:
|
|
79
97
|
"""Get the GIS datum of the message."""
|
|
@@ -15,7 +15,7 @@ if sys.version_info >= (3, 11):
|
|
|
15
15
|
else:
|
|
16
16
|
from typing_extensions import Self
|
|
17
17
|
|
|
18
|
-
from pydantic import BaseModel, Field
|
|
18
|
+
from pydantic import BaseModel, Field, field_serializer
|
|
19
19
|
|
|
20
20
|
from layrz_sdk.constants import REJECTED_KEYS, UTC
|
|
21
21
|
from layrz_sdk.entities.device import Device
|
|
@@ -59,6 +59,11 @@ class DeviceMessage(BaseModel):
|
|
|
59
59
|
description='Timestamp when the message was received',
|
|
60
60
|
)
|
|
61
61
|
|
|
62
|
+
@field_serializer('received_at')
|
|
63
|
+
def serialize_received_at(self: Self, value: datetime) -> float:
|
|
64
|
+
"""Serialize received_at to a timestamp."""
|
|
65
|
+
return value.timestamp()
|
|
66
|
+
|
|
62
67
|
@property
|
|
63
68
|
def datum_gis(self: Self) -> int:
|
|
64
69
|
"""Get the GIS datum of the message."""
|
|
@@ -105,7 +110,7 @@ class DeviceMessage(BaseModel):
|
|
|
105
110
|
return cls(
|
|
106
111
|
ident=device.ident,
|
|
107
112
|
device_id=device.pk,
|
|
108
|
-
protocol_id=device.protocol_id,
|
|
113
|
+
protocol_id=device.protocol_id, # type: ignore
|
|
109
114
|
position=position,
|
|
110
115
|
payload=payload,
|
|
111
116
|
received_at=received_at,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: layrz-sdk
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.20
|
|
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>
|
|
@@ -26,6 +26,7 @@ Requires-Dist: pydantic>=2.10.6
|
|
|
26
26
|
Requires-Dist: typing-extensions>=4.10.0
|
|
27
27
|
Requires-Dist: geopy>=2.4.1
|
|
28
28
|
Requires-Dist: shapely>=2.1.1
|
|
29
|
+
Requires-Dist: strenum>=0.4.15
|
|
29
30
|
Dynamic: license-file
|
|
30
31
|
|
|
31
32
|
# Layrz SDK
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "layrz-sdk"
|
|
3
|
-
version = "3.1.
|
|
3
|
+
version = "3.1.20"
|
|
4
4
|
description = "Layrz SDK for Python"
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "Golden M, Inc.", email = "software@goldenm.com"}
|
|
@@ -42,6 +42,7 @@ dependencies = [
|
|
|
42
42
|
"typing-extensions>=4.10.0",
|
|
43
43
|
"geopy>=2.4.1",
|
|
44
44
|
"shapely>=2.1.1",
|
|
45
|
+
"strenum>=0.4.15",
|
|
45
46
|
]
|
|
46
47
|
|
|
47
48
|
[project.urls]
|
|
@@ -343,13 +343,14 @@ wheels = [
|
|
|
343
343
|
|
|
344
344
|
[[package]]
|
|
345
345
|
name = "layrz-sdk"
|
|
346
|
-
version = "3.1.
|
|
346
|
+
version = "3.1.20"
|
|
347
347
|
source = { editable = "." }
|
|
348
348
|
dependencies = [
|
|
349
349
|
{ name = "geopy" },
|
|
350
350
|
{ name = "pydantic" },
|
|
351
351
|
{ name = "requests" },
|
|
352
352
|
{ name = "shapely" },
|
|
353
|
+
{ name = "strenum" },
|
|
353
354
|
{ name = "typing-extensions" },
|
|
354
355
|
{ name = "tzdata" },
|
|
355
356
|
{ name = "xlsxwriter" },
|
|
@@ -371,6 +372,7 @@ requires-dist = [
|
|
|
371
372
|
{ name = "pydantic", specifier = ">=2.10.6" },
|
|
372
373
|
{ name = "requests" },
|
|
373
374
|
{ name = "shapely", specifier = ">=2.1.1" },
|
|
375
|
+
{ name = "strenum", specifier = ">=0.4.15" },
|
|
374
376
|
{ name = "typing-extensions", specifier = ">=4.10.0" },
|
|
375
377
|
{ name = "tzdata" },
|
|
376
378
|
{ name = "xlsxwriter" },
|
|
@@ -943,6 +945,15 @@ wheels = [
|
|
|
943
945
|
{ url = "https://files.pythonhosted.org/packages/ea/f1/5e9b3ba5c7aa7ebfaf269657e728067d16a7c99401c7973ddf5f0cf121bd/shapely-2.1.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8cb8f17c377260452e9d7720eeaf59082c5f8ea48cf104524d953e5d36d4bdb7", size = 1723061, upload-time = "2025-05-19T11:04:40.082Z" },
|
|
944
946
|
]
|
|
945
947
|
|
|
948
|
+
[[package]]
|
|
949
|
+
name = "strenum"
|
|
950
|
+
version = "0.4.15"
|
|
951
|
+
source = { registry = "https://pypi.org/simple" }
|
|
952
|
+
sdist = { url = "https://files.pythonhosted.org/packages/85/ad/430fb60d90e1d112a62ff57bdd1f286ec73a2a0331272febfddd21f330e1/StrEnum-0.4.15.tar.gz", hash = "sha256:878fb5ab705442070e4dd1929bb5e2249511c0bcf2b0eeacf3bcd80875c82eff", size = 23384, upload-time = "2023-06-29T22:02:58.399Z" }
|
|
953
|
+
wheels = [
|
|
954
|
+
{ url = "https://files.pythonhosted.org/packages/81/69/297302c5f5f59c862faa31e6cb9a4cd74721cd1e052b38e464c5b402df8b/StrEnum-0.4.15-py3-none-any.whl", hash = "sha256:a30cda4af7cc6b5bf52c8055bc4bf4b2b6b14a93b574626da33df53cf7740659", size = 8851, upload-time = "2023-06-29T22:02:56.947Z" },
|
|
955
|
+
]
|
|
956
|
+
|
|
946
957
|
[[package]]
|
|
947
958
|
name = "tomli"
|
|
948
959
|
version = "2.2.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|