activitysmith 1.2.0__tar.gz → 1.2.2__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.
- {activitysmith-1.2.0 → activitysmith-1.2.2}/PKG-INFO +2 -2
- {activitysmith-1.2.0 → activitysmith-1.2.2}/README.md +1 -1
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith/client.py +1 -1
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith.egg-info/PKG-INFO +2 -2
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith.egg-info/SOURCES.txt +0 -8
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/__init__.py +1 -5
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/api/metrics_api.py +3 -3
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/api_client.py +1 -1
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/configuration.py +1 -1
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/__init__.py +0 -4
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/metric_value_update_response.py +4 -8
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_metric_value_update_response.py +2 -2
- {activitysmith-1.2.0 → activitysmith-1.2.2}/pyproject.toml +1 -1
- {activitysmith-1.2.0 → activitysmith-1.2.2}/tests/test_resources.py +5 -2
- activitysmith-1.2.0/activitysmith_openapi/models/metric_format.py +0 -40
- activitysmith-1.2.0/activitysmith_openapi/models/metric_unit_spacing.py +0 -37
- activitysmith-1.2.0/activitysmith_openapi/models/widget_metric.py +0 -165
- activitysmith-1.2.0/activitysmith_openapi/models/widget_metric_latest_value.py +0 -144
- activitysmith-1.2.0/activitysmith_openapi/test/test_metric_format.py +0 -33
- activitysmith-1.2.0/activitysmith_openapi/test/test_metric_unit_spacing.py +0 -33
- activitysmith-1.2.0/activitysmith_openapi/test/test_widget_metric.py +0 -72
- activitysmith-1.2.0/activitysmith_openapi/test/test_widget_metric_latest_value.py +0 -50
- {activitysmith-1.2.0 → activitysmith-1.2.2}/LICENSE +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith/__init__.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith.egg-info/dependency_links.txt +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith.egg-info/requires.txt +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith.egg-info/top_level.txt +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/api/__init__.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/api/live_activities_api.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/api/push_notifications_api.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/api_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/exceptions.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/activity_metric.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/alert_payload.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/bad_request_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/channel_target.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/content_state_end.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/content_state_start.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/content_state_update.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/forbidden_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_action.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_action_type.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_end_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_end_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_limit_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_start_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_start_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_stream_delete_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_stream_delete_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_stream_put_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_stream_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_update_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_update_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_webhook_method.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/metric_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/metric_value_update_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/metric_value_update_request_value.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/no_recipients_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/not_found_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/push_notification_action.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/push_notification_action_type.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/push_notification_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/push_notification_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/push_notification_webhook_method.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/rate_limit_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/send_push_notification429_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/stream_content_state.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/rest.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/__init__.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_activity_metric.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_alert_payload.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_bad_request_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_channel_target.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_content_state_end.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_content_state_start.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_content_state_update.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_forbidden_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activities_api.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_action.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_action_type.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_end_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_end_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_limit_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_start_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_start_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_stream_delete_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_stream_delete_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_stream_put_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_stream_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_update_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_update_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_webhook_method.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_metric_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_metric_value_update_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_metric_value_update_request_value.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_metrics_api.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_no_recipients_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_not_found_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_push_notification_action.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_push_notification_action_type.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_push_notification_request.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_push_notification_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_push_notification_webhook_method.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_push_notifications_api.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_rate_limit_error.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_send_push_notification429_response.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_stream_content_state.py +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/setup.cfg +0 -0
- {activitysmith-1.2.0 → activitysmith-1.2.2}/tests/test_smoke.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: activitysmith
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: Official ActivitySmith Python SDK
|
|
5
5
|
Author-email: ActivitySmith <adam@activitysmith.com>
|
|
6
6
|
License: MIT
|
|
@@ -594,7 +594,7 @@ activitysmith.notifications.send(
|
|
|
594
594
|
<img src="https://cdn.activitysmith.com/features/lock-screen-widgets.png" alt="Lock screen widgets" width="680" />
|
|
595
595
|
</p>
|
|
596
596
|
|
|
597
|
-
ActivitySmith lets you display any value on your Lock Screen with widgets - SaaS metrics, revenue, signups, uptime, habits, or anything else you want to track. Create a metric in the web app
|
|
597
|
+
ActivitySmith lets you display any value on your Lock Screen with widgets - SaaS metrics, revenue, signups, uptime, habits, or anything else you want to track. Create a metric in the <a href="https://activitysmith.com/app/widgets" target="_blank" rel="noopener noreferrer">web app</a>, then update the metric value using our API, add a widget to your lock screen and it will fetch the latest update automatically.
|
|
598
598
|
|
|
599
599
|
<p align="center">
|
|
600
600
|
<img src="https://cdn.activitysmith.com/features/create-widget-metric.png" alt="Create widget metric" width="680" />
|
|
@@ -572,7 +572,7 @@ activitysmith.notifications.send(
|
|
|
572
572
|
<img src="https://cdn.activitysmith.com/features/lock-screen-widgets.png" alt="Lock screen widgets" width="680" />
|
|
573
573
|
</p>
|
|
574
574
|
|
|
575
|
-
ActivitySmith lets you display any value on your Lock Screen with widgets - SaaS metrics, revenue, signups, uptime, habits, or anything else you want to track. Create a metric in the web app
|
|
575
|
+
ActivitySmith lets you display any value on your Lock Screen with widgets - SaaS metrics, revenue, signups, uptime, habits, or anything else you want to track. Create a metric in the <a href="https://activitysmith.com/app/widgets" target="_blank" rel="noopener noreferrer">web app</a>, then update the metric value using our API, add a widget to your lock screen and it will fetch the latest update automatically.
|
|
576
576
|
|
|
577
577
|
<p align="center">
|
|
578
578
|
<img src="https://cdn.activitysmith.com/features/create-widget-metric.png" alt="Create widget metric" width="680" />
|
|
@@ -10,7 +10,7 @@ from activitysmith_openapi.api.live_activities_api import LiveActivitiesApi
|
|
|
10
10
|
from activitysmith_openapi.api.metrics_api import MetricsApi
|
|
11
11
|
from activitysmith_openapi.api.push_notifications_api import PushNotificationsApi
|
|
12
12
|
|
|
13
|
-
SDK_VERSION = "1.2.
|
|
13
|
+
SDK_VERSION = "1.2.2"
|
|
14
14
|
SDK_HEADER_NAME = "X-ActivitySmith-SDK"
|
|
15
15
|
SDK_HEADER_VALUE = f"python-v{SDK_VERSION}"
|
|
16
16
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: activitysmith
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: Official ActivitySmith Python SDK
|
|
5
5
|
Author-email: ActivitySmith <adam@activitysmith.com>
|
|
6
6
|
License: MIT
|
|
@@ -594,7 +594,7 @@ activitysmith.notifications.send(
|
|
|
594
594
|
<img src="https://cdn.activitysmith.com/features/lock-screen-widgets.png" alt="Lock screen widgets" width="680" />
|
|
595
595
|
</p>
|
|
596
596
|
|
|
597
|
-
ActivitySmith lets you display any value on your Lock Screen with widgets - SaaS metrics, revenue, signups, uptime, habits, or anything else you want to track. Create a metric in the web app
|
|
597
|
+
ActivitySmith lets you display any value on your Lock Screen with widgets - SaaS metrics, revenue, signups, uptime, habits, or anything else you want to track. Create a metric in the <a href="https://activitysmith.com/app/widgets" target="_blank" rel="noopener noreferrer">web app</a>, then update the metric value using our API, add a widget to your lock screen and it will fetch the latest update automatically.
|
|
598
598
|
|
|
599
599
|
<p align="center">
|
|
600
600
|
<img src="https://cdn.activitysmith.com/features/create-widget-metric.png" alt="Create widget metric" width="680" />
|
|
@@ -42,8 +42,6 @@ activitysmith_openapi/models/live_activity_update_request.py
|
|
|
42
42
|
activitysmith_openapi/models/live_activity_update_response.py
|
|
43
43
|
activitysmith_openapi/models/live_activity_webhook_method.py
|
|
44
44
|
activitysmith_openapi/models/metric_error.py
|
|
45
|
-
activitysmith_openapi/models/metric_format.py
|
|
46
|
-
activitysmith_openapi/models/metric_unit_spacing.py
|
|
47
45
|
activitysmith_openapi/models/metric_value_update_request.py
|
|
48
46
|
activitysmith_openapi/models/metric_value_update_request_value.py
|
|
49
47
|
activitysmith_openapi/models/metric_value_update_response.py
|
|
@@ -57,8 +55,6 @@ activitysmith_openapi/models/push_notification_webhook_method.py
|
|
|
57
55
|
activitysmith_openapi/models/rate_limit_error.py
|
|
58
56
|
activitysmith_openapi/models/send_push_notification429_response.py
|
|
59
57
|
activitysmith_openapi/models/stream_content_state.py
|
|
60
|
-
activitysmith_openapi/models/widget_metric.py
|
|
61
|
-
activitysmith_openapi/models/widget_metric_latest_value.py
|
|
62
58
|
activitysmith_openapi/test/__init__.py
|
|
63
59
|
activitysmith_openapi/test/test_activity_metric.py
|
|
64
60
|
activitysmith_openapi/test/test_alert_payload.py
|
|
@@ -84,8 +80,6 @@ activitysmith_openapi/test/test_live_activity_update_request.py
|
|
|
84
80
|
activitysmith_openapi/test/test_live_activity_update_response.py
|
|
85
81
|
activitysmith_openapi/test/test_live_activity_webhook_method.py
|
|
86
82
|
activitysmith_openapi/test/test_metric_error.py
|
|
87
|
-
activitysmith_openapi/test/test_metric_format.py
|
|
88
|
-
activitysmith_openapi/test/test_metric_unit_spacing.py
|
|
89
83
|
activitysmith_openapi/test/test_metric_value_update_request.py
|
|
90
84
|
activitysmith_openapi/test/test_metric_value_update_request_value.py
|
|
91
85
|
activitysmith_openapi/test/test_metric_value_update_response.py
|
|
@@ -101,7 +95,5 @@ activitysmith_openapi/test/test_push_notifications_api.py
|
|
|
101
95
|
activitysmith_openapi/test/test_rate_limit_error.py
|
|
102
96
|
activitysmith_openapi/test/test_send_push_notification429_response.py
|
|
103
97
|
activitysmith_openapi/test/test_stream_content_state.py
|
|
104
|
-
activitysmith_openapi/test/test_widget_metric.py
|
|
105
|
-
activitysmith_openapi/test/test_widget_metric_latest_value.py
|
|
106
98
|
tests/test_resources.py
|
|
107
99
|
tests/test_smoke.py
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
""" # noqa: E501
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
__version__ = "1.1
|
|
17
|
+
__version__ = "1.2.1"
|
|
18
18
|
|
|
19
19
|
# import apis into sdk package
|
|
20
20
|
from activitysmith_openapi.api.live_activities_api import LiveActivitiesApi
|
|
@@ -56,8 +56,6 @@ from activitysmith_openapi.models.live_activity_update_request import LiveActivi
|
|
|
56
56
|
from activitysmith_openapi.models.live_activity_update_response import LiveActivityUpdateResponse
|
|
57
57
|
from activitysmith_openapi.models.live_activity_webhook_method import LiveActivityWebhookMethod
|
|
58
58
|
from activitysmith_openapi.models.metric_error import MetricError
|
|
59
|
-
from activitysmith_openapi.models.metric_format import MetricFormat
|
|
60
|
-
from activitysmith_openapi.models.metric_unit_spacing import MetricUnitSpacing
|
|
61
59
|
from activitysmith_openapi.models.metric_value_update_request import MetricValueUpdateRequest
|
|
62
60
|
from activitysmith_openapi.models.metric_value_update_request_value import MetricValueUpdateRequestValue
|
|
63
61
|
from activitysmith_openapi.models.metric_value_update_response import MetricValueUpdateResponse
|
|
@@ -71,5 +69,3 @@ from activitysmith_openapi.models.push_notification_webhook_method import PushNo
|
|
|
71
69
|
from activitysmith_openapi.models.rate_limit_error import RateLimitError
|
|
72
70
|
from activitysmith_openapi.models.send_push_notification429_response import SendPushNotification429Response
|
|
73
71
|
from activitysmith_openapi.models.stream_content_state import StreamContentState
|
|
74
|
-
from activitysmith_openapi.models.widget_metric import WidgetMetric
|
|
75
|
-
from activitysmith_openapi.models.widget_metric_latest_value import WidgetMetricLatestValue
|
|
@@ -59,7 +59,7 @@ class MetricsApi:
|
|
|
59
59
|
) -> MetricValueUpdateResponse:
|
|
60
60
|
"""Update a widget metric value
|
|
61
61
|
|
|
62
|
-
Updates the latest value for a metric
|
|
62
|
+
Updates the latest value for a metric displayed in ActivitySmith widgets. Create the metric in the web app first, then update its value using the key.
|
|
63
63
|
|
|
64
64
|
:param key: Metric key configured in the web app. Lowercase letters, numbers, dots, underscores, and dashes are allowed. (required)
|
|
65
65
|
:type key: str
|
|
@@ -133,7 +133,7 @@ class MetricsApi:
|
|
|
133
133
|
) -> ApiResponse[MetricValueUpdateResponse]:
|
|
134
134
|
"""Update a widget metric value
|
|
135
135
|
|
|
136
|
-
Updates the latest value for a metric
|
|
136
|
+
Updates the latest value for a metric displayed in ActivitySmith widgets. Create the metric in the web app first, then update its value using the key.
|
|
137
137
|
|
|
138
138
|
:param key: Metric key configured in the web app. Lowercase letters, numbers, dots, underscores, and dashes are allowed. (required)
|
|
139
139
|
:type key: str
|
|
@@ -207,7 +207,7 @@ class MetricsApi:
|
|
|
207
207
|
) -> RESTResponseType:
|
|
208
208
|
"""Update a widget metric value
|
|
209
209
|
|
|
210
|
-
Updates the latest value for a metric
|
|
210
|
+
Updates the latest value for a metric displayed in ActivitySmith widgets. Create the metric in the web app first, then update its value using the key.
|
|
211
211
|
|
|
212
212
|
:param key: Metric key configured in the web app. Lowercase letters, numbers, dots, underscores, and dashes are allowed. (required)
|
|
213
213
|
:type key: str
|
|
@@ -88,7 +88,7 @@ class ApiClient:
|
|
|
88
88
|
self.default_headers[header_name] = header_value
|
|
89
89
|
self.cookie = cookie
|
|
90
90
|
# Set default User-Agent.
|
|
91
|
-
self.user_agent = 'OpenAPI-Generator/1.
|
|
91
|
+
self.user_agent = 'OpenAPI-Generator/1.2.0/python'
|
|
92
92
|
self.client_side_validation = configuration.client_side_validation
|
|
93
93
|
|
|
94
94
|
def __enter__(self):
|
|
@@ -393,7 +393,7 @@ class Configuration:
|
|
|
393
393
|
"OS: {env}\n"\
|
|
394
394
|
"Python Version: {pyversion}\n"\
|
|
395
395
|
"Version of the API: 1.0.0\n"\
|
|
396
|
-
"SDK Package Version: 1.
|
|
396
|
+
"SDK Package Version: 1.2.0".\
|
|
397
397
|
format(env=sys.platform, pyversion=sys.version)
|
|
398
398
|
|
|
399
399
|
def get_host_settings(self):
|
|
@@ -37,8 +37,6 @@ from activitysmith_openapi.models.live_activity_update_request import LiveActivi
|
|
|
37
37
|
from activitysmith_openapi.models.live_activity_update_response import LiveActivityUpdateResponse
|
|
38
38
|
from activitysmith_openapi.models.live_activity_webhook_method import LiveActivityWebhookMethod
|
|
39
39
|
from activitysmith_openapi.models.metric_error import MetricError
|
|
40
|
-
from activitysmith_openapi.models.metric_format import MetricFormat
|
|
41
|
-
from activitysmith_openapi.models.metric_unit_spacing import MetricUnitSpacing
|
|
42
40
|
from activitysmith_openapi.models.metric_value_update_request import MetricValueUpdateRequest
|
|
43
41
|
from activitysmith_openapi.models.metric_value_update_request_value import MetricValueUpdateRequestValue
|
|
44
42
|
from activitysmith_openapi.models.metric_value_update_response import MetricValueUpdateResponse
|
|
@@ -52,5 +50,3 @@ from activitysmith_openapi.models.push_notification_webhook_method import PushNo
|
|
|
52
50
|
from activitysmith_openapi.models.rate_limit_error import RateLimitError
|
|
53
51
|
from activitysmith_openapi.models.send_push_notification429_response import SendPushNotification429Response
|
|
54
52
|
from activitysmith_openapi.models.stream_content_state import StreamContentState
|
|
55
|
-
from activitysmith_openapi.models.widget_metric import WidgetMetric
|
|
56
|
-
from activitysmith_openapi.models.widget_metric_latest_value import WidgetMetricLatestValue
|
|
@@ -17,9 +17,8 @@ import pprint
|
|
|
17
17
|
import re # noqa: F401
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
|
-
from pydantic import BaseModel, ConfigDict
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, StrictBool
|
|
21
21
|
from typing import Any, ClassVar, Dict, List
|
|
22
|
-
from activitysmith_openapi.models.widget_metric import WidgetMetric
|
|
23
22
|
from typing import Optional, Set
|
|
24
23
|
from typing_extensions import Self
|
|
25
24
|
|
|
@@ -27,9 +26,9 @@ class MetricValueUpdateResponse(BaseModel):
|
|
|
27
26
|
"""
|
|
28
27
|
MetricValueUpdateResponse
|
|
29
28
|
""" # noqa: E501
|
|
30
|
-
|
|
29
|
+
success: StrictBool
|
|
31
30
|
additional_properties: Dict[str, Any] = {}
|
|
32
|
-
__properties: ClassVar[List[str]] = ["
|
|
31
|
+
__properties: ClassVar[List[str]] = ["success"]
|
|
33
32
|
|
|
34
33
|
model_config = ConfigDict(
|
|
35
34
|
populate_by_name=True,
|
|
@@ -72,9 +71,6 @@ class MetricValueUpdateResponse(BaseModel):
|
|
|
72
71
|
exclude=excluded_fields,
|
|
73
72
|
exclude_none=True,
|
|
74
73
|
)
|
|
75
|
-
# override the default output from pydantic by calling `to_dict()` of metric
|
|
76
|
-
if self.metric:
|
|
77
|
-
_dict['metric'] = self.metric.to_dict()
|
|
78
74
|
# puts key-value pairs in additional_properties in the top level
|
|
79
75
|
if self.additional_properties is not None:
|
|
80
76
|
for _key, _value in self.additional_properties.items():
|
|
@@ -92,7 +88,7 @@ class MetricValueUpdateResponse(BaseModel):
|
|
|
92
88
|
return cls.model_validate(obj)
|
|
93
89
|
|
|
94
90
|
_obj = cls.model_validate({
|
|
95
|
-
"
|
|
91
|
+
"success": obj.get("success")
|
|
96
92
|
})
|
|
97
93
|
# store additional fields in additional_properties
|
|
98
94
|
for _key in obj.keys():
|
|
@@ -35,11 +35,11 @@ class TestMetricValueUpdateResponse(unittest.TestCase):
|
|
|
35
35
|
model = MetricValueUpdateResponse()
|
|
36
36
|
if include_optional:
|
|
37
37
|
return MetricValueUpdateResponse(
|
|
38
|
-
|
|
38
|
+
success = True
|
|
39
39
|
)
|
|
40
40
|
else:
|
|
41
41
|
return MetricValueUpdateResponse(
|
|
42
|
-
|
|
42
|
+
success = True,
|
|
43
43
|
)
|
|
44
44
|
"""
|
|
45
45
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from importlib.metadata import version
|
|
2
|
+
|
|
1
3
|
from activitysmith.client import ActivitySmith
|
|
2
4
|
import activitysmith.client as client_module
|
|
3
5
|
|
|
@@ -56,8 +58,9 @@ def test_sdk_header_and_user_agent_are_configured(monkeypatch):
|
|
|
56
58
|
client = ActivitySmith(api_key="x")
|
|
57
59
|
api_client = client.metrics._api._api_client
|
|
58
60
|
|
|
59
|
-
|
|
60
|
-
assert api_client.default_headers["
|
|
61
|
+
package_version = version("activitysmith")
|
|
62
|
+
assert api_client.default_headers["X-ActivitySmith-SDK"] == f"python-v{package_version}"
|
|
63
|
+
assert api_client.default_headers["User-Agent"] == f"activitysmith-python/{package_version}"
|
|
61
64
|
|
|
62
65
|
|
|
63
66
|
def test_notifications_short_and_legacy_alias(monkeypatch):
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
|
-
"""
|
|
4
|
-
ActivitySmith API
|
|
5
|
-
|
|
6
|
-
Send push notifications and Live Activities to your own devices via a single API key.
|
|
7
|
-
|
|
8
|
-
The version of the OpenAPI document: 1.0.0
|
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
-
|
|
11
|
-
Do not edit the class manually.
|
|
12
|
-
""" # noqa: E501
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
from __future__ import annotations
|
|
16
|
-
import json
|
|
17
|
-
from enum import Enum
|
|
18
|
-
from typing_extensions import Self
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class MetricFormat(str, Enum):
|
|
22
|
-
"""
|
|
23
|
-
MetricFormat
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
"""
|
|
27
|
-
allowed enum values
|
|
28
|
-
"""
|
|
29
|
-
NUMBER = 'number'
|
|
30
|
-
CURRENCY = 'currency'
|
|
31
|
-
PERCENT = 'percent'
|
|
32
|
-
UNIT = 'unit'
|
|
33
|
-
STRING = 'string'
|
|
34
|
-
|
|
35
|
-
@classmethod
|
|
36
|
-
def from_json(cls, json_str: str) -> Self:
|
|
37
|
-
"""Create an instance of MetricFormat from a JSON string"""
|
|
38
|
-
return cls(json.loads(json_str))
|
|
39
|
-
|
|
40
|
-
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
|
-
"""
|
|
4
|
-
ActivitySmith API
|
|
5
|
-
|
|
6
|
-
Send push notifications and Live Activities to your own devices via a single API key.
|
|
7
|
-
|
|
8
|
-
The version of the OpenAPI document: 1.0.0
|
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
-
|
|
11
|
-
Do not edit the class manually.
|
|
12
|
-
""" # noqa: E501
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
from __future__ import annotations
|
|
16
|
-
import json
|
|
17
|
-
from enum import Enum
|
|
18
|
-
from typing_extensions import Self
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class MetricUnitSpacing(str, Enum):
|
|
22
|
-
"""
|
|
23
|
-
MetricUnitSpacing
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
"""
|
|
27
|
-
allowed enum values
|
|
28
|
-
"""
|
|
29
|
-
NONE = 'none'
|
|
30
|
-
SPACE = 'space'
|
|
31
|
-
|
|
32
|
-
@classmethod
|
|
33
|
-
def from_json(cls, json_str: str) -> Self:
|
|
34
|
-
"""Create an instance of MetricUnitSpacing from a JSON string"""
|
|
35
|
-
return cls(json.loads(json_str))
|
|
36
|
-
|
|
37
|
-
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
|
-
"""
|
|
4
|
-
ActivitySmith API
|
|
5
|
-
|
|
6
|
-
Send push notifications and Live Activities to your own devices via a single API key.
|
|
7
|
-
|
|
8
|
-
The version of the OpenAPI document: 1.0.0
|
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
-
|
|
11
|
-
Do not edit the class manually.
|
|
12
|
-
""" # noqa: E501
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
from __future__ import annotations
|
|
16
|
-
import pprint
|
|
17
|
-
import re # noqa: F401
|
|
18
|
-
import json
|
|
19
|
-
|
|
20
|
-
from datetime import datetime
|
|
21
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
|
22
|
-
from typing import Any, ClassVar, Dict, List, Optional
|
|
23
|
-
from typing_extensions import Annotated
|
|
24
|
-
from activitysmith_openapi.models.metric_format import MetricFormat
|
|
25
|
-
from activitysmith_openapi.models.metric_unit_spacing import MetricUnitSpacing
|
|
26
|
-
from activitysmith_openapi.models.widget_metric_latest_value import WidgetMetricLatestValue
|
|
27
|
-
from typing import Optional, Set
|
|
28
|
-
from typing_extensions import Self
|
|
29
|
-
|
|
30
|
-
class WidgetMetric(BaseModel):
|
|
31
|
-
"""
|
|
32
|
-
A metric configured for ActivitySmith widgets.
|
|
33
|
-
""" # noqa: E501
|
|
34
|
-
public_id: StrictStr
|
|
35
|
-
key: Annotated[str, Field(min_length=1, strict=True, max_length=64)]
|
|
36
|
-
label: Annotated[str, Field(min_length=1, strict=True, max_length=80)]
|
|
37
|
-
currency_code: Optional[Annotated[str, Field(min_length=3, strict=True, max_length=3)]] = Field(description="Present when format is currency.")
|
|
38
|
-
unit: Optional[Annotated[str, Field(strict=True, max_length=16)]] = Field(description="Present when format is unit.")
|
|
39
|
-
unit_spacing: MetricUnitSpacing
|
|
40
|
-
format: MetricFormat
|
|
41
|
-
latest_value: Optional[WidgetMetricLatestValue]
|
|
42
|
-
latest_value_at: Optional[datetime]
|
|
43
|
-
created_at: datetime
|
|
44
|
-
updated_at: datetime
|
|
45
|
-
additional_properties: Dict[str, Any] = {}
|
|
46
|
-
__properties: ClassVar[List[str]] = ["public_id", "key", "label", "currency_code", "unit", "unit_spacing", "format", "latest_value", "latest_value_at", "created_at", "updated_at"]
|
|
47
|
-
|
|
48
|
-
@field_validator('key')
|
|
49
|
-
def key_validate_regular_expression(cls, value):
|
|
50
|
-
"""Validates the regular expression"""
|
|
51
|
-
if not re.match(r"^[a-z0-9][a-z0-9_.-]{0,63}$", value):
|
|
52
|
-
raise ValueError(r"must validate the regular expression /^[a-z0-9][a-z0-9_.-]{0,63}$/")
|
|
53
|
-
return value
|
|
54
|
-
|
|
55
|
-
@field_validator('currency_code')
|
|
56
|
-
def currency_code_validate_regular_expression(cls, value):
|
|
57
|
-
"""Validates the regular expression"""
|
|
58
|
-
if value is None:
|
|
59
|
-
return value
|
|
60
|
-
|
|
61
|
-
if not re.match(r"^[A-Z]{3}$", value):
|
|
62
|
-
raise ValueError(r"must validate the regular expression /^[A-Z]{3}$/")
|
|
63
|
-
return value
|
|
64
|
-
|
|
65
|
-
model_config = ConfigDict(
|
|
66
|
-
populate_by_name=True,
|
|
67
|
-
validate_assignment=True,
|
|
68
|
-
protected_namespaces=(),
|
|
69
|
-
)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
def to_str(self) -> str:
|
|
73
|
-
"""Returns the string representation of the model using alias"""
|
|
74
|
-
return pprint.pformat(self.model_dump(by_alias=True))
|
|
75
|
-
|
|
76
|
-
def to_json(self) -> str:
|
|
77
|
-
"""Returns the JSON representation of the model using alias"""
|
|
78
|
-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
79
|
-
return json.dumps(self.to_dict())
|
|
80
|
-
|
|
81
|
-
@classmethod
|
|
82
|
-
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
83
|
-
"""Create an instance of WidgetMetric from a JSON string"""
|
|
84
|
-
return cls.from_dict(json.loads(json_str))
|
|
85
|
-
|
|
86
|
-
def to_dict(self) -> Dict[str, Any]:
|
|
87
|
-
"""Return the dictionary representation of the model using alias.
|
|
88
|
-
|
|
89
|
-
This has the following differences from calling pydantic's
|
|
90
|
-
`self.model_dump(by_alias=True)`:
|
|
91
|
-
|
|
92
|
-
* `None` is only added to the output dict for nullable fields that
|
|
93
|
-
were set at model initialization. Other fields with value `None`
|
|
94
|
-
are ignored.
|
|
95
|
-
* Fields in `self.additional_properties` are added to the output dict.
|
|
96
|
-
"""
|
|
97
|
-
excluded_fields: Set[str] = set([
|
|
98
|
-
"additional_properties",
|
|
99
|
-
])
|
|
100
|
-
|
|
101
|
-
_dict = self.model_dump(
|
|
102
|
-
by_alias=True,
|
|
103
|
-
exclude=excluded_fields,
|
|
104
|
-
exclude_none=True,
|
|
105
|
-
)
|
|
106
|
-
# override the default output from pydantic by calling `to_dict()` of latest_value
|
|
107
|
-
if self.latest_value:
|
|
108
|
-
_dict['latest_value'] = self.latest_value.to_dict()
|
|
109
|
-
# puts key-value pairs in additional_properties in the top level
|
|
110
|
-
if self.additional_properties is not None:
|
|
111
|
-
for _key, _value in self.additional_properties.items():
|
|
112
|
-
_dict[_key] = _value
|
|
113
|
-
|
|
114
|
-
# set to None if currency_code (nullable) is None
|
|
115
|
-
# and model_fields_set contains the field
|
|
116
|
-
if self.currency_code is None and "currency_code" in self.model_fields_set:
|
|
117
|
-
_dict['currency_code'] = None
|
|
118
|
-
|
|
119
|
-
# set to None if unit (nullable) is None
|
|
120
|
-
# and model_fields_set contains the field
|
|
121
|
-
if self.unit is None and "unit" in self.model_fields_set:
|
|
122
|
-
_dict['unit'] = None
|
|
123
|
-
|
|
124
|
-
# set to None if latest_value (nullable) is None
|
|
125
|
-
# and model_fields_set contains the field
|
|
126
|
-
if self.latest_value is None and "latest_value" in self.model_fields_set:
|
|
127
|
-
_dict['latest_value'] = None
|
|
128
|
-
|
|
129
|
-
# set to None if latest_value_at (nullable) is None
|
|
130
|
-
# and model_fields_set contains the field
|
|
131
|
-
if self.latest_value_at is None and "latest_value_at" in self.model_fields_set:
|
|
132
|
-
_dict['latest_value_at'] = None
|
|
133
|
-
|
|
134
|
-
return _dict
|
|
135
|
-
|
|
136
|
-
@classmethod
|
|
137
|
-
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
138
|
-
"""Create an instance of WidgetMetric from a dict"""
|
|
139
|
-
if obj is None:
|
|
140
|
-
return None
|
|
141
|
-
|
|
142
|
-
if not isinstance(obj, dict):
|
|
143
|
-
return cls.model_validate(obj)
|
|
144
|
-
|
|
145
|
-
_obj = cls.model_validate({
|
|
146
|
-
"public_id": obj.get("public_id"),
|
|
147
|
-
"key": obj.get("key"),
|
|
148
|
-
"label": obj.get("label"),
|
|
149
|
-
"currency_code": obj.get("currency_code"),
|
|
150
|
-
"unit": obj.get("unit"),
|
|
151
|
-
"unit_spacing": obj.get("unit_spacing"),
|
|
152
|
-
"format": obj.get("format"),
|
|
153
|
-
"latest_value": WidgetMetricLatestValue.from_dict(obj["latest_value"]) if obj.get("latest_value") is not None else None,
|
|
154
|
-
"latest_value_at": obj.get("latest_value_at"),
|
|
155
|
-
"created_at": obj.get("created_at"),
|
|
156
|
-
"updated_at": obj.get("updated_at")
|
|
157
|
-
})
|
|
158
|
-
# store additional fields in additional_properties
|
|
159
|
-
for _key in obj.keys():
|
|
160
|
-
if _key not in cls.__properties:
|
|
161
|
-
_obj.additional_properties[_key] = obj.get(_key)
|
|
162
|
-
|
|
163
|
-
return _obj
|
|
164
|
-
|
|
165
|
-
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
|
-
"""
|
|
4
|
-
ActivitySmith API
|
|
5
|
-
|
|
6
|
-
Send push notifications and Live Activities to your own devices via a single API key.
|
|
7
|
-
|
|
8
|
-
The version of the OpenAPI document: 1.0.0
|
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
-
|
|
11
|
-
Do not edit the class manually.
|
|
12
|
-
""" # noqa: E501
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
from __future__ import annotations
|
|
16
|
-
from inspect import getfullargspec
|
|
17
|
-
import json
|
|
18
|
-
import pprint
|
|
19
|
-
import re # noqa: F401
|
|
20
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, ValidationError, field_validator
|
|
21
|
-
from typing import Optional, Union
|
|
22
|
-
from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
|
|
23
|
-
from typing_extensions import Literal, Self
|
|
24
|
-
from pydantic import Field
|
|
25
|
-
|
|
26
|
-
WIDGETMETRICLATESTVALUE_ANY_OF_SCHEMAS = ["float", "str"]
|
|
27
|
-
|
|
28
|
-
class WidgetMetricLatestValue(BaseModel):
|
|
29
|
-
"""
|
|
30
|
-
Latest metric value. Numeric formats return a number. String metrics return text.
|
|
31
|
-
"""
|
|
32
|
-
|
|
33
|
-
# data type: float
|
|
34
|
-
anyof_schema_1_validator: Optional[Union[StrictFloat, StrictInt]] = None
|
|
35
|
-
# data type: str
|
|
36
|
-
anyof_schema_2_validator: Optional[StrictStr] = None
|
|
37
|
-
if TYPE_CHECKING:
|
|
38
|
-
actual_instance: Optional[Union[float, str]] = None
|
|
39
|
-
else:
|
|
40
|
-
actual_instance: Any = None
|
|
41
|
-
any_of_schemas: Set[str] = { "float", "str" }
|
|
42
|
-
|
|
43
|
-
model_config = {
|
|
44
|
-
"validate_assignment": True,
|
|
45
|
-
"protected_namespaces": (),
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
def __init__(self, *args, **kwargs) -> None:
|
|
49
|
-
if args:
|
|
50
|
-
if len(args) > 1:
|
|
51
|
-
raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
|
|
52
|
-
if kwargs:
|
|
53
|
-
raise ValueError("If a position argument is used, keyword arguments cannot be used.")
|
|
54
|
-
super().__init__(actual_instance=args[0])
|
|
55
|
-
else:
|
|
56
|
-
super().__init__(**kwargs)
|
|
57
|
-
|
|
58
|
-
@field_validator('actual_instance')
|
|
59
|
-
def actual_instance_must_validate_anyof(cls, v):
|
|
60
|
-
if v is None:
|
|
61
|
-
return v
|
|
62
|
-
|
|
63
|
-
instance = WidgetMetricLatestValue.model_construct()
|
|
64
|
-
error_messages = []
|
|
65
|
-
# validate data type: float
|
|
66
|
-
try:
|
|
67
|
-
instance.anyof_schema_1_validator = v
|
|
68
|
-
return v
|
|
69
|
-
except (ValidationError, ValueError) as e:
|
|
70
|
-
error_messages.append(str(e))
|
|
71
|
-
# validate data type: str
|
|
72
|
-
try:
|
|
73
|
-
instance.anyof_schema_2_validator = v
|
|
74
|
-
return v
|
|
75
|
-
except (ValidationError, ValueError) as e:
|
|
76
|
-
error_messages.append(str(e))
|
|
77
|
-
if error_messages:
|
|
78
|
-
# no match
|
|
79
|
-
raise ValueError("No match found when setting the actual_instance in WidgetMetricLatestValue with anyOf schemas: float, str. Details: " + ", ".join(error_messages))
|
|
80
|
-
else:
|
|
81
|
-
return v
|
|
82
|
-
|
|
83
|
-
@classmethod
|
|
84
|
-
def from_dict(cls, obj: Dict[str, Any]) -> Self:
|
|
85
|
-
return cls.from_json(json.dumps(obj))
|
|
86
|
-
|
|
87
|
-
@classmethod
|
|
88
|
-
def from_json(cls, json_str: str) -> Self:
|
|
89
|
-
"""Returns the object represented by the json string"""
|
|
90
|
-
instance = cls.model_construct()
|
|
91
|
-
if json_str is None:
|
|
92
|
-
return instance
|
|
93
|
-
|
|
94
|
-
error_messages = []
|
|
95
|
-
# deserialize data into float
|
|
96
|
-
try:
|
|
97
|
-
# validation
|
|
98
|
-
instance.anyof_schema_1_validator = json.loads(json_str)
|
|
99
|
-
# assign value to actual_instance
|
|
100
|
-
instance.actual_instance = instance.anyof_schema_1_validator
|
|
101
|
-
return instance
|
|
102
|
-
except (ValidationError, ValueError) as e:
|
|
103
|
-
error_messages.append(str(e))
|
|
104
|
-
# deserialize data into str
|
|
105
|
-
try:
|
|
106
|
-
# validation
|
|
107
|
-
instance.anyof_schema_2_validator = json.loads(json_str)
|
|
108
|
-
# assign value to actual_instance
|
|
109
|
-
instance.actual_instance = instance.anyof_schema_2_validator
|
|
110
|
-
return instance
|
|
111
|
-
except (ValidationError, ValueError) as e:
|
|
112
|
-
error_messages.append(str(e))
|
|
113
|
-
|
|
114
|
-
if error_messages:
|
|
115
|
-
# no match
|
|
116
|
-
raise ValueError("No match found when deserializing the JSON string into WidgetMetricLatestValue with anyOf schemas: float, str. Details: " + ", ".join(error_messages))
|
|
117
|
-
else:
|
|
118
|
-
return instance
|
|
119
|
-
|
|
120
|
-
def to_json(self) -> str:
|
|
121
|
-
"""Returns the JSON representation of the actual instance"""
|
|
122
|
-
if self.actual_instance is None:
|
|
123
|
-
return "null"
|
|
124
|
-
|
|
125
|
-
if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
|
|
126
|
-
return self.actual_instance.to_json()
|
|
127
|
-
else:
|
|
128
|
-
return json.dumps(self.actual_instance)
|
|
129
|
-
|
|
130
|
-
def to_dict(self) -> Optional[Union[Dict[str, Any], float, str]]:
|
|
131
|
-
"""Returns the dict representation of the actual instance"""
|
|
132
|
-
if self.actual_instance is None:
|
|
133
|
-
return None
|
|
134
|
-
|
|
135
|
-
if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
|
|
136
|
-
return self.actual_instance.to_dict()
|
|
137
|
-
else:
|
|
138
|
-
return self.actual_instance
|
|
139
|
-
|
|
140
|
-
def to_str(self) -> str:
|
|
141
|
-
"""Returns the string representation of the actual instance"""
|
|
142
|
-
return pprint.pformat(self.model_dump())
|
|
143
|
-
|
|
144
|
-
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
|
-
"""
|
|
4
|
-
ActivitySmith API
|
|
5
|
-
|
|
6
|
-
Send push notifications and Live Activities to your own devices via a single API key.
|
|
7
|
-
|
|
8
|
-
The version of the OpenAPI document: 1.0.0
|
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
-
|
|
11
|
-
Do not edit the class manually.
|
|
12
|
-
""" # noqa: E501
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import unittest
|
|
16
|
-
|
|
17
|
-
from activitysmith_openapi.models.metric_format import MetricFormat
|
|
18
|
-
|
|
19
|
-
class TestMetricFormat(unittest.TestCase):
|
|
20
|
-
"""MetricFormat unit test stubs"""
|
|
21
|
-
|
|
22
|
-
def setUp(self):
|
|
23
|
-
pass
|
|
24
|
-
|
|
25
|
-
def tearDown(self):
|
|
26
|
-
pass
|
|
27
|
-
|
|
28
|
-
def testMetricFormat(self):
|
|
29
|
-
"""Test MetricFormat"""
|
|
30
|
-
# inst = MetricFormat()
|
|
31
|
-
|
|
32
|
-
if __name__ == '__main__':
|
|
33
|
-
unittest.main()
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
|
-
"""
|
|
4
|
-
ActivitySmith API
|
|
5
|
-
|
|
6
|
-
Send push notifications and Live Activities to your own devices via a single API key.
|
|
7
|
-
|
|
8
|
-
The version of the OpenAPI document: 1.0.0
|
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
-
|
|
11
|
-
Do not edit the class manually.
|
|
12
|
-
""" # noqa: E501
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import unittest
|
|
16
|
-
|
|
17
|
-
from activitysmith_openapi.models.metric_unit_spacing import MetricUnitSpacing
|
|
18
|
-
|
|
19
|
-
class TestMetricUnitSpacing(unittest.TestCase):
|
|
20
|
-
"""MetricUnitSpacing unit test stubs"""
|
|
21
|
-
|
|
22
|
-
def setUp(self):
|
|
23
|
-
pass
|
|
24
|
-
|
|
25
|
-
def tearDown(self):
|
|
26
|
-
pass
|
|
27
|
-
|
|
28
|
-
def testMetricUnitSpacing(self):
|
|
29
|
-
"""Test MetricUnitSpacing"""
|
|
30
|
-
# inst = MetricUnitSpacing()
|
|
31
|
-
|
|
32
|
-
if __name__ == '__main__':
|
|
33
|
-
unittest.main()
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
|
-
"""
|
|
4
|
-
ActivitySmith API
|
|
5
|
-
|
|
6
|
-
Send push notifications and Live Activities to your own devices via a single API key.
|
|
7
|
-
|
|
8
|
-
The version of the OpenAPI document: 1.0.0
|
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
-
|
|
11
|
-
Do not edit the class manually.
|
|
12
|
-
""" # noqa: E501
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import unittest
|
|
16
|
-
|
|
17
|
-
from activitysmith_openapi.models.widget_metric import WidgetMetric
|
|
18
|
-
|
|
19
|
-
class TestWidgetMetric(unittest.TestCase):
|
|
20
|
-
"""WidgetMetric unit test stubs"""
|
|
21
|
-
|
|
22
|
-
def setUp(self):
|
|
23
|
-
pass
|
|
24
|
-
|
|
25
|
-
def tearDown(self):
|
|
26
|
-
pass
|
|
27
|
-
|
|
28
|
-
def make_instance(self, include_optional) -> WidgetMetric:
|
|
29
|
-
"""Test WidgetMetric
|
|
30
|
-
include_optional is a boolean, when False only required
|
|
31
|
-
params are included, when True both required and
|
|
32
|
-
optional params are included """
|
|
33
|
-
# uncomment below to create an instance of `WidgetMetric`
|
|
34
|
-
"""
|
|
35
|
-
model = WidgetMetric()
|
|
36
|
-
if include_optional:
|
|
37
|
-
return WidgetMetric(
|
|
38
|
-
public_id = '',
|
|
39
|
-
key = 'w6otgfww_r74cm.fyln9uyrj1gzi.i4v8m.oy3c3lv1-42d1z89qs7dlt2ggwxdm0',
|
|
40
|
-
label = '0',
|
|
41
|
-
currency_code = 'AEI012',
|
|
42
|
-
unit = '',
|
|
43
|
-
unit_spacing = 'none',
|
|
44
|
-
format = 'number',
|
|
45
|
-
latest_value = 1.337,
|
|
46
|
-
latest_value_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
|
|
47
|
-
created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
|
|
48
|
-
updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f')
|
|
49
|
-
)
|
|
50
|
-
else:
|
|
51
|
-
return WidgetMetric(
|
|
52
|
-
public_id = '',
|
|
53
|
-
key = 'w6otgfww_r74cm.fyln9uyrj1gzi.i4v8m.oy3c3lv1-42d1z89qs7dlt2ggwxdm0',
|
|
54
|
-
label = '0',
|
|
55
|
-
currency_code = 'AEI012',
|
|
56
|
-
unit = '',
|
|
57
|
-
unit_spacing = 'none',
|
|
58
|
-
format = 'number',
|
|
59
|
-
latest_value = 1.337,
|
|
60
|
-
latest_value_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
|
|
61
|
-
created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
|
|
62
|
-
updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
|
|
63
|
-
)
|
|
64
|
-
"""
|
|
65
|
-
|
|
66
|
-
def testWidgetMetric(self):
|
|
67
|
-
"""Test WidgetMetric"""
|
|
68
|
-
# inst_req_only = self.make_instance(include_optional=False)
|
|
69
|
-
# inst_req_and_optional = self.make_instance(include_optional=True)
|
|
70
|
-
|
|
71
|
-
if __name__ == '__main__':
|
|
72
|
-
unittest.main()
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
|
-
"""
|
|
4
|
-
ActivitySmith API
|
|
5
|
-
|
|
6
|
-
Send push notifications and Live Activities to your own devices via a single API key.
|
|
7
|
-
|
|
8
|
-
The version of the OpenAPI document: 1.0.0
|
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
-
|
|
11
|
-
Do not edit the class manually.
|
|
12
|
-
""" # noqa: E501
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import unittest
|
|
16
|
-
|
|
17
|
-
from activitysmith_openapi.models.widget_metric_latest_value import WidgetMetricLatestValue
|
|
18
|
-
|
|
19
|
-
class TestWidgetMetricLatestValue(unittest.TestCase):
|
|
20
|
-
"""WidgetMetricLatestValue unit test stubs"""
|
|
21
|
-
|
|
22
|
-
def setUp(self):
|
|
23
|
-
pass
|
|
24
|
-
|
|
25
|
-
def tearDown(self):
|
|
26
|
-
pass
|
|
27
|
-
|
|
28
|
-
def make_instance(self, include_optional) -> WidgetMetricLatestValue:
|
|
29
|
-
"""Test WidgetMetricLatestValue
|
|
30
|
-
include_optional is a boolean, when False only required
|
|
31
|
-
params are included, when True both required and
|
|
32
|
-
optional params are included """
|
|
33
|
-
# uncomment below to create an instance of `WidgetMetricLatestValue`
|
|
34
|
-
"""
|
|
35
|
-
model = WidgetMetricLatestValue()
|
|
36
|
-
if include_optional:
|
|
37
|
-
return WidgetMetricLatestValue(
|
|
38
|
-
)
|
|
39
|
-
else:
|
|
40
|
-
return WidgetMetricLatestValue(
|
|
41
|
-
)
|
|
42
|
-
"""
|
|
43
|
-
|
|
44
|
-
def testWidgetMetricLatestValue(self):
|
|
45
|
-
"""Test WidgetMetricLatestValue"""
|
|
46
|
-
# inst_req_only = self.make_instance(include_optional=False)
|
|
47
|
-
# inst_req_and_optional = self.make_instance(include_optional=True)
|
|
48
|
-
|
|
49
|
-
if __name__ == '__main__':
|
|
50
|
-
unittest.main()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/api/live_activities_api.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/api/push_notifications_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/bad_request_error.py
RENAMED
|
File without changes
|
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/content_state_end.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/content_state_start.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/content_state_update.py
RENAMED
|
File without changes
|
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/live_activity_action.py
RENAMED
|
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
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/no_recipients_error.py
RENAMED
|
File without changes
|
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/push_notification_action.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/rate_limit_error.py
RENAMED
|
File without changes
|
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/models/stream_content_state.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_activity_metric.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_alert_payload.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_bad_request_error.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_channel_target.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_content_state_end.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_content_state_start.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_content_state_update.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_forbidden_error.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activities_api.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_live_activity_action.py
RENAMED
|
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
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_no_recipients_error.py
RENAMED
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_not_found_error.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_rate_limit_error.py
RENAMED
|
File without changes
|
|
File without changes
|
{activitysmith-1.2.0 → activitysmith-1.2.2}/activitysmith_openapi/test/test_stream_content_state.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|