Skip to content

Commit ba31019

Browse files
activitysmith-sdk-bot[bot]activitysmith-botbardonadam
authored
Update Python SDK (#48)
* chore: regenerate SDK * feat: add badge count setter * docs: document app icon badge count * chore: prepare 1.9.0 release --------- Co-authored-by: activitysmith-bot <activitysmith-bot@users.noreply.github.com> Co-authored-by: bardonadam <bardon.adam@gmail.com>
1 parent 86ae684 commit ba31019

62 files changed

Lines changed: 1316 additions & 435 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## 1.9.0
2+
3+
### New Features
4+
5+
- **New Feature: App Icon Badge Count** - Show MRR, user counts, stock prices, and more on your ActivitySmith app icon.

README.md

Lines changed: 56 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ See the [API reference](https://activitysmith.com/docs/api-reference/introductio
2020
- [Live Activity Action](#live-activity-action)
2121
- [Icons and Badges](#icons-and-badges)
2222
- [Live Activity Colors](#live-activity-colors)
23-
- [Channels](#channels)
2423
- [Widgets](#widgets)
24+
- [App Icon Badge Count](#app-icon-badge-count)
25+
- [Channels](#channels)
2526

2627
## Installation
2728

@@ -513,18 +514,6 @@ Choose from these colors for the Live Activity accent, including progress bars a
513514

514515
`lime`, `green`, `cyan`, `blue`, `purple`, `magenta`, `red`, `orange`, `yellow`, `gray`
515516

516-
## Channels
517-
518-
Channels are used to target specific team members or devices. Can be used for both push notifications and live activities.
519-
520-
```python
521-
activitysmith.notifications.send(
522-
title="New subscription 💸",
523-
message="Customer upgraded to Pro plan",
524-
channels=["sales", "customer-success"], # Optional
525-
)
526-
```
527-
528517
## Widgets
529518

530519
<p align="center">
@@ -547,6 +536,60 @@ String metric values work too.
547536
activitysmith.metrics.update("prod.status", "healthy")
548537
```
549538

539+
## App Icon Badge Count
540+
541+
<p align="center">
542+
<img src="https://cdn.activitysmith.com/features/badge-count.png" alt="ActivitySmith app icon with an App Icon Badge Count" width="680" />
543+
</p>
544+
545+
Show the number you care about on your ActivitySmith app icon. Track MRR, a customer count, a stock price, or any other value you want to keep in view.
546+
547+
Set or update the badge value.
548+
549+
```python
550+
activitysmith.badge_count(8333)
551+
```
552+
553+
To clear the badge, set its value to 0.
554+
555+
```python
556+
activitysmith.badge_count(0)
557+
```
558+
559+
## Channels
560+
561+
Use `channels` to target specific team members or devices
562+
563+
### Push Notifications
564+
565+
```python
566+
activitysmith.notifications.send(
567+
title="New subscription 💸",
568+
message="Customer upgraded to Pro plan",
569+
channels=["sales", "customer-success"],
570+
)
571+
```
572+
573+
### Live Activities
574+
575+
```python
576+
activitysmith.live_activities.start(
577+
content_state=content_state(
578+
title="Nightly Database Backup",
579+
subtitle="verify restore",
580+
type="progress",
581+
percentage=62,
582+
),
583+
channels=["sales", "customer-success"],
584+
)
585+
```
586+
587+
### App Icon Badge Count
588+
589+
```python
590+
activitysmith.badge_count(3, channels=["sales", "customer-success"])
591+
```
592+
550593
## Error Handling
551594

552595
```python

activitysmith/client.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
from activitysmith_openapi.api.live_activities_api import LiveActivitiesApi
1010
from activitysmith_openapi.api.metrics_api import MetricsApi
1111
from activitysmith_openapi.api.push_notifications_api import PushNotificationsApi
12+
from activitysmith_openapi.api.app_icon_badges_api import AppIconBadgesApi
1213

13-
SDK_VERSION = "1.8.0"
14+
SDK_VERSION = "1.9.0"
1415
SDK_HEADER_NAME = "X-ActivitySmith-SDK"
1516
SDK_HEADER_VALUE = f"python-v{SDK_VERSION}"
1617

@@ -762,3 +763,10 @@ def __post_init__(self) -> None:
762763
self.notifications = NotificationsResource(PushNotificationsApi(api_client))
763764
self.live_activities = LiveActivitiesResource(LiveActivitiesApi(api_client))
764765
self.metrics = MetricsResource(MetricsApi(api_client))
766+
self._app_icon_badges = AppIconBadgesApi(api_client)
767+
768+
def badge_count(self, value: int, *, channels: Any | None = None):
769+
request = _compact_dict({"badge": value, "channels": channels})
770+
return self._app_icon_badges.update_app_icon_badge_count(
771+
app_icon_badge_count_update_request=_normalize_channels_target(request)
772+
)

activitysmith_openapi/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
__version__ = "1.8.0"
1818

1919
# import apis into sdk package
20+
from activitysmith_openapi.api.app_icon_badges_api import AppIconBadgesApi
2021
from activitysmith_openapi.api.live_activities_api import LiveActivitiesApi
2122
from activitysmith_openapi.api.metrics_api import MetricsApi
2223
from activitysmith_openapi.api.push_notifications_api import PushNotificationsApi
@@ -36,6 +37,8 @@
3637
from activitysmith_openapi.models.activity_metric import ActivityMetric
3738
from activitysmith_openapi.models.activity_metric_value import ActivityMetricValue
3839
from activitysmith_openapi.models.alert_payload import AlertPayload
40+
from activitysmith_openapi.models.app_icon_badge_count_update_request import AppIconBadgeCountUpdateRequest
41+
from activitysmith_openapi.models.app_icon_badge_count_update_response import AppIconBadgeCountUpdateResponse
3942
from activitysmith_openapi.models.bad_request_error import BadRequestError
4043
from activitysmith_openapi.models.channel_target import ChannelTarget
4144
from activitysmith_openapi.models.content_state_end import ContentStateEnd

activitysmith_openapi/api/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# flake8: noqa
22

33
# import apis into api package
4+
from activitysmith_openapi.api.app_icon_badges_api import AppIconBadgesApi
45
from activitysmith_openapi.api.live_activities_api import LiveActivitiesApi
56
from activitysmith_openapi.api.metrics_api import MetricsApi
67
from activitysmith_openapi.api.push_notifications_api import PushNotificationsApi

0 commit comments

Comments
 (0)