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": "Build Failed",
        "message": "CI pipeline failed on main branch",
        "channels": ["devs", "ops"],  # Optional
    }
)

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

Start a Live Activity

start = activitysmith.live_activities.start(
    {
        "content_state": {
            "title": "ActivitySmith API Deployment",
            "subtitle": "start",
            "number_of_steps": 4,
            "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": "ActivitySmith API Deployment",
            "subtitle": "npm i & pm2",
            "current_step": 3,
        }
    }
)

print(update.devices_notified)

End a Live Activity

end = activitysmith.live_activities.end(
    {
        "activity_id": activity_id,
        "content_state": {
            "title": "ActivitySmith API Deployment",
            "subtitle": "done",
            "current_step": 4,
            "auto_dismiss_minutes": 3,
        }
    }
)

print(end.success)

Error Handling

try:
    activitysmith.notifications.send(
        {
            "title": "Build Failed",
        }
    )
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.2.tar.gz (29.6 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.2-py3-none-any.whl (74.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: activitysmith-0.1.2.tar.gz
  • Upload date:
  • Size: 29.6 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.2.tar.gz
Algorithm Hash digest
SHA256 f8ab8f94c051166b19f18b2240baba6c224703bc1137e3fd5078e89f93cbc758
MD5 6552ab565012b71e1db0850186896c84
BLAKE2b-256 67e79d011ee34f3c3b0d1924c51d4fd7a342fc2549314773a9a108764d247619

See more details on using hashes here.

Provenance

The following attestation bundles were made for activitysmith-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: activitysmith-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 74.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a70cb9d009536ab5a4cbba4362c17e8b29ada81eca5aa62075a04c2177b1fa4c
MD5 00608dd97744ab92e6e4310b8658c844
BLAKE2b-256 e32c878e3d7a7627ae1a6b69ee5cf9c231c6ebcf0fb18316f9849b473e92e417

See more details on using hashes here.

Provenance

The following attestation bundles were made for activitysmith-0.1.2-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