Skip to main content

Official ActivitySmith Python SDK

Project description

ActivitySmith Python Library

The ActivitySmith Python library provides convenient access to the ActivitySmith API from Python applications.

Documentation

See the API reference.

Installation

This package is available on PyPI:

pip install activitysmith

Alternatively, install from source with:

python -m pip install .

Setup

import os
from activitysmith import ActivitySmith

activitysmith = ActivitySmith(
    api_key=os.environ["ACTIVITYSMITH_API_KEY"],
)

Usage

Send a Push Notification

response = activitysmith.notifications.send(
    {
        "title": "New subscription 💸",
        "message": "Customer upgraded to Pro plan",
        "channels": ["devs", "ops"],  # Optional
    }
)

print(response.success)
print(response.devices_notified)

Start a Live Activity

start = activitysmith.live_activities.start(
    {
        "content_state": {
            "title": "Nightly database backup",
            "subtitle": "create snapshot",
            "number_of_steps": 3,
            "current_step": 1,
            "type": "segmented_progress",
            "color": "yellow",
        },
        "channels": ["devs", "ops"],  # Optional
    }
)

activity_id = start.activity_id

Update a Live Activity

update = activitysmith.live_activities.update(
    {
        "activity_id": activity_id,
        "content_state": {
            "title": "Nightly database backup",
            "subtitle": "upload archive",
            "current_step": 2,
        }
    }
)

print(update.devices_notified)

End a Live Activity

end = activitysmith.live_activities.end(
    {
        "activity_id": activity_id,
        "content_state": {
            "title": "Nightly database backup",
            "subtitle": "verify restore",
            "current_step": 3,
            "auto_dismiss_minutes": 2,
        }
    }
)

print(end.success)

Error Handling

try:
    activitysmith.notifications.send(
        {
            "title": "New subscription 💸",
        }
    )
except Exception as err:
    print("Request failed:", err)

API Surface

  • activitysmith.live_activities
  • activitysmith.notifications

Request/response models are included and can be imported from activitysmith_openapi.models.

Requirements

  • Python 3.9 or newer

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

activitysmith-0.1.3.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

activitysmith-0.1.3-py3-none-any.whl (74.2 kB view details)

Uploaded Python 3

File details

Details for the file activitysmith-0.1.3.tar.gz.

File metadata

  • Download URL: activitysmith-0.1.3.tar.gz
  • Upload date:
  • Size: 29.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for activitysmith-0.1.3.tar.gz
Algorithm Hash digest
SHA256 1044b0334d89902fb9661f856ce45d075942e3eb23777007febf5c68f1298e1b
MD5 e528d8e137b1330212cbbd8f27ec7ee2
BLAKE2b-256 27c138237cabb64eb6deadf9e1f5e314b4c1293685e373f4ecfd6c21f8bc3f83

See more details on using hashes here.

Provenance

The following attestation bundles were made for activitysmith-0.1.3.tar.gz:

Publisher: publish.yml on ActivitySmithHQ/activitysmith-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file activitysmith-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: activitysmith-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 74.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for activitysmith-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a5c749a1d3c33fe85bfac128a3799cb541a3b38411bc8e2baaf312ad262c047f
MD5 aa41a36014f91930921e144aa0dcc8e9
BLAKE2b-256 ca55a8b3168cb39f2d2a82449a370e2506cd962cd8a050a421bdc84c853c5cdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for activitysmith-0.1.3-py3-none-any.whl:

Publisher: publish.yml on ActivitySmithHQ/activitysmith-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page