Skip to main content

Command-line utility for interfacing with OpsDuty.

Project description

opsduty-python

Command-line utility for interfacing with OpsDuty.

The opsduty-python library is built with two core features in mind:

  • Command-line interface to interact with OpsDuty
  • Programatic way to report heartbeat checkins in Python

Help

See the documentation for more details.

CLI

The opsduty-python package contains a CLI that can be used to interact with OpsDuty.

The preferred way to install the CLI is to use pipx install opsduty-python.

$ opsduty
Usage: opsduty [OPTIONS] COMMAND [ARGS]...

Options:
  --log-format [json|logfmt|console]
                                  [default: console]
  --log-level [error|warning|info|debug]
                                  [default: info]
  --base-url TEXT                 Base URL for API requests to OpsDuty.
  --timeout INTEGER               API request timeout to OpsDuty.  [required]
  --access-token TEXT             Set the bearer token used to communicate
                                  with OpsDuty.  [env var:
                                  OPSDUTY_ACCESS_TOKEN]
  --version                       Show the version and exit.
  -h, --help                      Show this message and exit.

Commands:
  heartbeats  Commands for managing and monitoring heartbeats.
  schedules   Commands for accesing schedules.

  Command-line utility for interfacing with OpsDuty.

Heartbeats

Send periodic heartbeats to OpsDuty using opsduty-python. The heartbeat needs to be configured in OpsDuty before check-ins can be observed. Head over to https://opsduty.io to configure your heartbeats.

Installation

Install using pip install -U opsduty-python.

Alternative 1: Decorator

from opsduty_python.heartbeats.heartbeats import (
    heartbeat_checkin,
)

@heartbeat_checkin(heartbeat="HBXXXX", environment="prod", enabled=True)
def periodic_job():
    pass

Alternative 2: Send heartbeat manually.

from opsduty_python.heartbeats.heartbeats import (
    send_heartbeat_checkin,
)

def periodic_job():
    try:
        pass
    except Exception:
        print("Job failed.")
    else:
        send_heartbeat_checkin(heartbeat="HBXXXX", environment="prod")

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

opsduty_python-0.2.4.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

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

opsduty_python-0.2.4-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file opsduty_python-0.2.4.tar.gz.

File metadata

  • Download URL: opsduty_python-0.2.4.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.3 Linux/6.11.0-1015-azure

File hashes

Hashes for opsduty_python-0.2.4.tar.gz
Algorithm Hash digest
SHA256 927c46933dd5f8e1387ad9fc1dafe8bfc97ace9df7939818f0620eb397e793b2
MD5 1c2bd8ab6cd525528ce0a185b664f327
BLAKE2b-256 b9e6f6c0e433aad22354abf31889e3b3e5e4f10cb0e0fd097499cb3b90a6f690

See more details on using hashes here.

File details

Details for the file opsduty_python-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: opsduty_python-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.3 Linux/6.11.0-1015-azure

File hashes

Hashes for opsduty_python-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ff26b583be46d4d1349720e002223fcf0e31bf5adbbad2b5ce9987aabefcc38c
MD5 5b7e26e66565a40dc7900b92d2591c63
BLAKE2b-256 f6b60725ee286329a7da9f3fe8385ce594e4535fc0bb106b0defbd6d6ce41908

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