Skip to main content

A general purpose library for sending alerts

Project description

alertist

Alertist is a library that makes it as easy as possible to send a message to a target, without rewriting code. All configuration happens via environment variables.


Motivation

Sending alerts just needs to be easy. Code shouldn't need rewriting so that you can change the destination for a message, a deployment shouldn't have to happen, and CI changed just to send an email, when an SNS message will do. Enter alertist.

Alertist makes is simple to send alerts. Configure environment variables, and run your python application. But maybe that doesn't work for you - alertist loads a .env by default, from your current working directory, making it as painless as possible to trigger alert sending, without application overhead.

Installation

pip install alertist

Usage

Create an alertist object, and call the alert method with the target and message. The alertist object, must be instantiated with the target, or alert type you'd like to send.

from alertist import Alertist
from alertist.targets import Pushover

a = Alertist(Pushover)
a.alert("Hello, world!")

If you'd like to send a message asynchronously, you use the exact same code, except that the alert method is now called aalert, and must be awaited.

from alertist import Alertist
from alertist.targets import Pushover

a = Alertist(Pushover)
await a.alert("Hello, world!")

Supported alert types can be found in the targets folder.


Contributing

Writing a new alert target

Bug, features, or integrations? Feel free to contribute in whatever way you can! But below, let's highlight how to create a new alert target.

  1. Create a new class subclassing ABCTarget
  2. Implement the synchronous alert method, and asynchronous aalert method
  3. Add all environment variables that can be configured to CONFIG_KEYS in your class.
  4. Add your class to targets.__all__ in __init__.py
  5. Write two unit tests, probably mocking your connecting.

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

alertist-0.1.0.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

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

alertist-0.1.0-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file alertist-0.1.0.tar.gz.

File metadata

  • Download URL: alertist-0.1.0.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for alertist-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9819efe66a7aa0a2b34c748f3a7564fee7be59beae8584602616b0639d43ce6d
MD5 817987de2b1b069b7274e52420960bb7
BLAKE2b-256 c9d285df15c2c96eb11ce7a9843d51abd09f9229568d7d0325b4cb9857afd152

See more details on using hashes here.

File details

Details for the file alertist-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: alertist-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for alertist-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f3ba2d045c08ebaf9305fc0b5cb2902c1218b030867ca223d976555a3d733fa
MD5 608c839b53c19359b117882eb6f23af7
BLAKE2b-256 c25455a7ba97bf501127216f33f2ce2dd61c0ba1c1dec2598d0272d6e0aff20c

See more details on using hashes here.

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