Skip to main content

Execute functions on PostgreSQL notifications

Project description

PostgreSQL Notification Listener

This project is a Python library that listens to notifications from a PostgreSQL database. It provides a simple way to execute functions when specific events happen in the database.

How it works

The listener connects to the PostgreSQL database and sets up a notification channel. You can then attach callbacks to this channel, which will be executed whenever a notification is received.

Installation

To install the library, run: pip install postgresql-notification-listener

Usage

To use this library, follow these steps:

  • Import the library in your Python script: from postgresql_notification_listener import NotificationListener
  • Create instance of the listener listener = NotificationListener("host=your_host port=your_port dbname=your_database user=your_username password=your_password")
  • Define a callback function that will be executed when a notification is received.
  • Use the subscribe_to_channel method to attach your callback function to the notification channel: listener.subscribe_to_channel("channel_to_listen", callback_function)
  • Start listening for notifications by calling the start method: listener.start()
  • You can trigger a notification from PostgreSQL by NOTIFY channel_to_listen statement.
  • The start method will call all attached callbacks once when called. If you don't want this behaviour, pass the initial_run=False argument to the start method: listener.start(initial_run=False)
  • You can get the notification that caused the callback from the last_notification attribute on the listener instance listener.last_notification

API

  • NotificationListener: The main class of this library. It is responsible for setting up a notification channel and managing callbacks.
    • subscribe_to_channel : Attaches a callback function to a specific channel. The subscribe_to_channel method takes two required parameters: the name of the channel to listen to and the callback function to execute when a notification is received.
    • start : Starts listening for notifications. If you don't want all attached callbacks to be called once when called, pass initial_run=False as an argument.
    • last_notification: Returns the latest notification that caused a callback.

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

postgresql_notification_listener-2.0.2.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file postgresql_notification_listener-2.0.2.tar.gz.

File metadata

File hashes

Hashes for postgresql_notification_listener-2.0.2.tar.gz
Algorithm Hash digest
SHA256 82a67c19d63d249bde9bf3bc12ee3f5464a9a2cd70b48e73d3b9d9e4c65a6d98
MD5 fa4b6eef5dd7bdfb79be246b04fc0eb5
BLAKE2b-256 e44d920899f3d99c53257b6c3ce23f47b664955e87ef3428be33e0c01be86d31

See more details on using hashes here.

Provenance

The following attestation bundles were made for postgresql_notification_listener-2.0.2.tar.gz:

Publisher: publish.yml on tvuotila/postgresql-notification-listener

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

File details

Details for the file postgresql_notification_listener-2.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for postgresql_notification_listener-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e52b901afaa70f65cc24c328fdfdfcd5f8a9055047fd08ba6fb2be1d1ff61ec3
MD5 e7245e7ff2d67a3371243741510f82a7
BLAKE2b-256 e059a22bdb6a050f0c1b675cf1024382f77fcbf6ee7e18c9309c7e811bad0dcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for postgresql_notification_listener-2.0.2-py3-none-any.whl:

Publisher: publish.yml on tvuotila/postgresql-notification-listener

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